首先附上整理好的CxImage库,含有500,702两版的源文件,以及组建好的702版的动态,静态库文件(配置:静态MFC,多线程,多字节字符集)下载地址:http://pan.baidu.com/s/1mg0CVAK
看到许多网友在CxImage库使用时遇到的编译不通过问题,而自己以前写游戏时也遇到同样的困扰,但是最后完好解决并总结了通用方案,于是想写下这点经验,和大家分享
我想一般情况下大家下载的CxImage源程序都不会存在问题,比如下面的截图就是702版本的所有目录(按照作者的备注,600版本适合VC6.0,701适合VC2005,702适合VC2010,但是实测发现702也可以用在VC2008,这里就是用的VC2008编写的,所以保守猜测各版本通过适当修改配置应该都能使用)
在确认自己的源程序齐全无误,且调用程序没有语法错误后,大家编译生成静态库时遇到最多的麻烦应该就是"未定义的符号 xxx"报错了,下面给出通用的解决方法,请仔细对照操作,相信遇到困难的小伙伴们一定可以解决的
编译环境设置:
应该保证自己的应用程序和CxImage库的下述选项一定相同:
1、组建模式(Debug或Release)
2、线程支持(单线程或多线程)
3、字符集(Unicode或MBCS)
4、wchar_t内置与否(如无需要,建议选否)
5、MFC连接方式(静态或动态)
请仔细检查修正
按照上述要求逐个或批量设置好下图中每个子工程,然后组建每个工程(可打开CxImageFull.dsw一次导入这些工程)
(因为这里要解决的是静态库使用,所以我移除了demo工程和dll工程以简化)
另外如果CxImage库输出为Release版本
则预编译定义应为如下三项
WIN32;_LIB;NDEBUG(部分网络流传版本的默认选项不是这样,则也会报错)
使用注意:
在不完全熟悉源程序结构前,建议导入生成的所有静态库,如果按照感觉只导入cximage.lib
同样可能遇到许多未定义符号,将所有导入语句整理如下方便复制
#pragma comment(lib,"cximage.lib")
#pragma comment(lib,"png.lib")
#pragma comment(lib,"jasper.lib")
#pragma comment(lib,"jbig.lib")
#pragma comment(lib,"Jpeg.lib")
#pragma comment(lib,"libpsd.lib")
#pragma comment(lib,"libdcr.lib")
#pragma comment(lib,"mng.lib")
#pragma comment(lib,"Tiff.lib")
#pragma comment(lib,"zlib.lib")</span>
2015.10.30 感谢我们一起走了那么久,又再一次回到凉凉深秋