当前位置: 代码迷 >> WinCE >> 按以下方式添加自己的catalog item,但是对应的变量却没有被定义,wince机关重重啊解决办法
  详细解决方案

按以下方式添加自己的catalog item,但是对应的变量却没有被定义,wince机关重重啊解决办法

热度:104   发布时间:2016-04-28 13:18:28.0
按以下方式添加自己的catalog item,但是对应的变量却没有被定义,wince机关重重啊
PXA3** + wince6.0, 现有两种屏独立的驱动,需要将这两套代码整合下,用宏区分,然后通过编译前在Catalog items view勾选不同选项控制,我先用catalog编辑器修改了:

\WINCE600\PLATFORM\pxa303_bsp\CATALOG 下的***.pbcxml文件,在原display driver项下添加了一个新的item,同时配置了它的属性,且其关联变量为display_driver_panel_b;原驱动对应一种屏,其变量为display_driver_panel_a。

然后修改了BIB、注册表中的宏控制部分,并且在一套代码内用如下方式将二种屏的代码做了区分:

#ifdef display_driver_panel_b
...
hbp = 2;
hfp = 3;
...
#endif 

#ifdef display_driver_panel_a
...
#endif


按上述方式改完后,勾选了panel b对应的Item,编译,但到显示驱动时,却提示找不到hbp hfp的定义,看来是display_driver_panel_b没有被配置上。

不知道还有那些机关需要处理,想来Item创建好了,勾选后应该能配置其对应的宏啊。
请大家帮忙看下吧,多谢。






------解决方案--------------------
让代码里面判断环境变量吗?如果没记错的话,需要修改source文件。
------解决方案--------------------
display_driver_panel_b是编译window里的环境变量display_driver_panel_a,你可以通过右键你的CE工程,然后Open Release Directory in Build Window来打开编译window,然后set display_driver_panel来看你的环境变量时候按你的需求设置为1。

把环境变量转换为CPP代码里的宏,需要在sources文件里做个转换,比如
C/C++ code
!IF "$(display_driver_panel_a)"=="1"CDEFINES= $(CDEFINES) -Ddisplay_driver_panel_a!ENDIF!IF "$(display_driver_panel_b)"=="1"CDEFINES= $(CDEFINES) -Ddisplay_driver_panel_b!ENDIF
  相关解决方案