使用CxImage静态库的正确配置

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/renzhezixuan/article/details/49521575

首先附上整理好的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>


在保证上面两大步正确完成后,相信你的应用程序一定可以顺利使用CxImage了(如图是绘制一个PNG图片,红色标记里是用CxImage绘图程序)



 2015.10.30        感谢我们一起走了那么久,又再一次回到凉凉深秋 



展开阅读全文

没有更多推荐了,返回首页