当前位置: 代码迷 >> WinCE >> CxImage移植到WinCE导致的编译有关问题
  详细解决方案

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

热度:80   发布时间:2016-04-28 13:10:30.0
CxImage移植到WinCE导致的编译问题
我把CxImage移植到EVC4.0的时候,编译库没发现什么问题,但是链接到exe(exe是基于MFC的)的时候发现了如下的链接错误:
ximapng.obj : error LNK2019: unresolved external symbol [email protected] referenced in function "public: bool __thiscall CxImagePNG::Decode(class CxFile *)" ([email protected]@@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
  相关解决方案