PEG移植步骤
浏览:974 发布日期:2017-06-12



1)先在VC++6.0上把PEG应用HDTVMenu_EMS2004“跑”起来。
1-1 解压缩peg_all,
1-2 解压缩peg_all下面的peg182st20.zip,这样peg182的release版本就出来了;
1-3 用VC++6.0打开pegbuildwin32ms60下的peg.dsw,在project setting里添加include目录。

1-4 编译,通过。
1-5 把project HDTVMenu_EMS2004 插入到peg.dsw中。

1-6 设置依赖关系。

1-7 rebuild all,OK,这个应用可以正常运行起来。

2)移植和编译sv_peg模块:
拷贝sv_peg文件夹到E2LL主目录下,并创建sv_peg.bld,把相应的.cpp和.hpp文件加入到编译项中。通过修改,先能单独编译通过sv_peg模块。注意先不要把7020peg.cpp和7020scrn.cpp放在编译文件列表中。
3)移植和编译osal模块:
阅读7020peg.cpp文件可以看出,需要用到:
OSAL_TaskCreate()
OSAL_TaskDelete()
OSAL_TaskLock()
OSAL_TaskUnlock()
OSAL_TaskId()
OSAL_TaskDelay()
OSAL_MsgSend()
4)编译7020peg.cpp和7020csrn.cpp
出现如下图错误:

原因是7020scrn.cpp中引用头文件
#include "peg.hpp"
#include "7020scrn.hpp"
但实际上在peg.hpp也引用了#include PSCREEN=#include "7020scrn.hpp"
当编译器编译7020scrn.cpp文件时,因为在文件中包含了7020scrn.hpp头文件,编译器展开这个头文件,知道STV7020Screen这个类定义了,接着展开peg.hpp头文件,而在peg.hpp头文件中也包含了7020scrn.hpp,再次展开7020scrn.hpp,于是STV7020Screen这个类就重复定义了。
解决方法,在7020scrn.cpp中只引入#include "peg.hpp"
还可以参见:http://www.mengyou.org/forum/thread-13410-1-1.html PEG是什么 做什么用的啊 回复 3# liangmin
PEG是Portable Embedded GUI的缩写,是一种嵌入式GUI软件,主要用来帮助进行机顶盒界面的快速定制开发的。可以在Windows平台上用VC++开发UI功能,然后非常快的移植到机顶盒软件中。

扫码下方或搜索关注公众号“卫星参数网”,独家内幕新闻!

卫星参数网公众号