WINCE编译debug版本出错的问题

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 16:53   1145   0

WINCE编译debug版本出错的问题

2010-07-23 11:05

编译debug版本一直出错,困扰了好久,今天终于解决了。我相信也有不是人遇到这个问题,今天我就把自己才解决方法和过程写出来和大家分享,希望能帮到一下正在被此问题困扰的朋友。

很多情况是编译release版本没有错误,编译debug时出错。一般有两种错误提示:

1.:BUILD: [01:0000000169:ERRORE] NMAKE : U1073: don't know how to make 'F:/wince5project/test1/WINCE500/new2440_ARMV4I/cesysgen/sdk/lib/ARMV4I/retail/Ndis.lib'
BUILD: [01:0000000171:ERRORE] NMAKE.EXE -i -c BUILDMSG=Stop. NOLINK=1 NOPASS0=1 failed - rc = 2

出现这样的错误提示一般是驱动程序所在文件下的SOURCE文件里关于SOURECELIBS和TARGETLIBS的设置有错,这样解决:

TARGETLIBS= /
$(_PROJECTROOT)/cesysgen/sdk/lib/ARMV4I/retail/coredll.lib /
$(_COMMONOAKROOT)/lib/$(_CPUINDPATH)/ceddk.lib

SOURCELIBS= /
$(_PROJECTROOT)/cesysgen/sdk/lib/ARMV4I/retail/Ndis.lib /


改为

TARGETLIBS= /
$(_PROJECTROOT)/cesysgen/sdk/lib/$(_CPUINDPATH)/ndis.lib /
$(_PROJECTROOT)/cesysgen/sdk/lib/$(_CPUINDPATH)/ntcompat.lib /
$(_PROJECTROOT)/cesysgen/sdk/lib/$(_CPUINDPATH)/coredll.lib /
$(_COMMONOAKROOT)/lib/$(_CPUINDPATH)/ceddk.lib /

重新编译很可能还会出现这样的错误提示:

BUILD: [01:0000000696:ERRORE] init.obj : error LNK2001: unresolved external symbol dpCurSettings
BUILD: [01:0000000697:ERRORE] socket.obj : error LNK2001: unresolved external symbol dpCurSettings

这个错误牵扯到WINCE调试里面关于Debug Zones的功能,通常也被称为调试域,通过它可以控制打印信息。release版本是用到的是REATAILMSG,debug版本时用到的是DEBUGMSG,这两个宏定义本质是一样的,只是定义方法不同。要使用DEBUGMSG必须有这样的一段定义:

#ifdef DEBUG
DBGPARAM dpCurSettings = {
TEXT("userLED"), {
TEXT("Error"), TEXT("Warn"), TEXT("Init"), TEXT("Open"),
TEXT("Read"), TEXT("Write"), TEXT("IOCTL"), TEXT("IST"),
TEXT("Power"), TEXT("9"), TEXT("10"), TEXT("11"),
TEXT("12"), TEXT("13"), TEXT("14"), TEXT("Trace"),
},
0x0003 // ZONE_WRN|ZONE_ERR
};

这样就解决了错误二,这里面还有很多细节性的问题,感兴趣的可以继续查资料,深入了解。

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP