首先明确一点:移植cximage用的vs2005整个环境的配置和wince6.0安装等都有关系,我的vs2005就没法成功编译,无论我怎么改。我使用的同事的电脑才搞定的
我编译PC版的刚开始编译成功了所有的库,新建了一个程序调用CxImage::Load 和 CxImage::save时出错,error LNK2001: unresolved external symbol "public: bool __thiscall CxImage::Load(unsigned short const *,unsigned long) " (?Load@CxImage@@QAE_NPBGK@Z)
就这种连接错误,我发现load里面用的是_tfopen()函数打开文件,传的参数是const TCHAR*,在我的那个环境下不行,我改成_wfopen() ,这样再改一下随之产生的错误,就OK了,PC上就不会出现连接错误,能够使用了,网上有说是unicode不行得用多字节,但是我改完就是在unicode下使用的,完全正确,这就可能是环境的原因(具体我也不知道)。
下面就是移植到wince下,编译cximage和tiff时会出现好几百个错误,其他的库一般不会出错,错误我遇到两种:
1.函数重载 overload function ,看看函数是在那个头文件的直接到wcecompat\include里面把那个头文件改后缀(就是xxx.h_not),让它不起作用
2.error c2733:second C linkage of overload function ‘towlower’ not allowed 直接屏蔽
基本就能编译成功了。
实在解决不了我就无法了,应该是vs2005安装有问题
使用时程序堆栈要设置为0
CXImage下载地址http://www.xdp.it/cximage/ 我是下载的600_ce那版