首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > WinCE >

CxImage移植到WinCE导致的编译有关问题

2012-04-13 
CxImage移植到WinCE导致的编译问题我把CxImage移植到EVC4.0的时候,编译库没发现什么问题,但是链接到exe(ex

CxImage移植到WinCE导致的编译问题
我把CxImage移植到EVC4.0的时候,编译库没发现什么问题,但是链接到exe(exe是基于MFC的)的时候发现了如下的链接错误:
ximapng.obj : error LNK2019: unresolved external symbol ___CxxLongjmpUnwind@4 referenced in function "public: bool __thiscall CxImagePNG::Decode(class CxFile *)" (?Decode@CxImagePNG@@QAE_NPAVCxFile@@@Z)
X86Dbg/testPmpCxImage.exe : fatal error LNK1120: 1 unresolved externals

  奇怪的是这个错误只在X86和X86模拟器下出现,对于ARM/MIPSII的SDK,竟然没有这个问题
我分析了一下,发现这个估计是setjmp/longjmp导致的,但是奇怪的是我新创建了一个exe发现EVC下可以用setjmp/longjmp的,真是很奇怪了
  我又对比了一下ARM和X86的vcp文件发现ARM/MIPSII有/M$(CECrtMTDebug)这个编译项,而X86则有个/Gs8192;不知道什么意思???
我把/M$(CECrtMTDebug)这个选项放到X86的时候,发现出现一个编译警告说无效选项 /MC


[解决办法]
估计是因为MFC库不支持try/throw/catch引起的,你把/GX编译选项去掉了么?
[解决办法]
ARM/MIPSII的SDK和X86和X86模拟器本来就有区别的,MFC库的确不支持try/throw/catch

热点排行