项目需要把CE6 往CE7上移植,折腾了好几天终于编译成功了。其中修改了:
1、 生成的Virtual PC的SDK中的stdlib.h的146行,按照下面那样修改,MSDN上有说这个是CE7的一个bug。
_CRT_BANNED_DEPRECATE(_malloca and _freea) __checkReturn __bcount(_Size) void * __cdecl _alloca(__in size_t _Size);
改成
__checkReturn __bcount(_Size) void * __cdecl _alloca(__in size_t _Size);
2、自己生成了好几回Virtual PC的SDK都没有rpcrt4.lib,改选的都选了也没有弄好,只好自己手动拷贝了!
3、把rpcrt4.lib拷贝到sdk安装的lib目录下再编译合并代理/存根的工程还会链接不上_NdrStubCall2,发现rpcrt4.lib没有这些函数,最后终于找到rpcrt4legacy.lib可以使用,但是这里需要改dlldatax.c,当然也可以通过修改工程设置。
#pragma comment(lib, "rpcrt4.lib")
改成#pragma comment(lib, "rpcrt4legacy.lib")
还有在编译Arm的BSP时老是有错误,NMAKE : fatal error U1073: don't know how to make 'C:\WINCE700\public\servers\oak\lib\ARMV5\retail\httpd.lib',不知道是怎么回事,等下次继续吧。
Windows Embedded Compact 7 使用COM编译错误解决
最新推荐文章于 2017-10-23 17:15:26 发布