CxImage下载地址:http://www.codeproject.com/Articles/1300/CxImage
没有ID的直接注册一下就可以下载,免费的。
解压后,用VS2005打开 CxImgLib.dsw
可以看到下例这些工程:
- CxImage
- CxImageCrtDll
- CxImageMfcDll
- dome
- domeDll
- jasper
- jbig
- jpeg
- libdcr
- mng
- png
- tiff
- zlib
先编译CxImage,成功后再编译第二个工程。
分别在Debug和Release下编译,然后把编译产生的lib文件copy 到一个文件夹下,我的是文件夹是D:\softwares\CxImage\lib\debgu:和D:\softwares\CxImage\lib\release。
由于我用的MFC无关的工程,所以没有编译CxImageMfcDll。
打开工程后:
工具->选项->项目和解决方案->VC++目录
库文件:添加D:\softwares\CxImage\lib\debgu和D:\softwares\CxImage\lib\release
包含文件:添加D:\softwares\CxImage
确定后,在项目上右键项目属性->配置属性->链接器->输入->附加依赖项:
添加cximage.lib jpeg.lib png.lib mng.lib tiff.lib jasper.lib jbig.lib zlib.lib libdcr.lib
点击应用后在 配置属性->常规
MFC使用:在共享DLL中使用MFC
字符集: 使用多字节字符集
配置属性->C/C++->代码生成
运行时库:多线程 DLL (/MD)
结构成员对齐:16字节
预编译头:不使用预编译头
设置好后,编辑没有问题,添加上 #include "ximage.h'
编译后错误,无法找到ximage.h
没有办法,又把cximage文件夹中的所有.h头文件都添加到工程
编译后报错
1>cx_image.cpp
1>f:\cx_image\cx_image\xiofile.h(25) : warning C4996: “fopen”被声明为否决的
1> d:\program files\microsoft visual studio 8\vc\include\stdio.h(234) : 参见“fopen”的声明
1> 消息:“This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.”
1>f:\cx_image\cx_image\xiofile.h(117) : warning C4996: “fscanf”被声明为否决的
1> d:\program files\microsoft visual studio 8\vc\include\stdio.h(249) : 参见“fscanf”的声明
1> 消息:“This function or variable may be unsafe. Consider using fscanf_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.”
1>正在链接...
1> 正在创建库 F:\cx_image\Debug\cx_image.lib 和对象 F:\cx_image\Debug\cx_image.exp
1>LINK : warning LNK4098: 默认库“MSVCRTD”与其他库的使用冲突;请使用 /NODEFAULTLIB:library
1>cximage.lib(ximasel.obj) : error LNK2019: 无法解析的外部符号 __imp__DeleteObject@4,该符号在函数 "public: bool __thiscall CxImage::SelectionToHRGN(struct HRGN__ * &)" (?SelectionToHRGN@CxImage@@QAE_NAAPAUHRGN__@@@Z) 中被引用
1>cximage.lib(ximasel.obj) : error LNK2019: 无法解析的外部符号 __imp__CombineRgn@16,该符号在函数 "public: bool __thiscall CxImage::SelectionToHRGN(struct HRGN__ * &)" (?SelectionToHRGN@CxImage@@QAE_NAAPAUHRGN__@@@Z) 中被引用
1>cximage.lib(ximasel.obj) : error LNK2019: 无法解析的外部符号 __imp__CreateRectRgn@16,该符号在函数 "public: bool __thiscall CxImage::SelectionToHRGN(struct HRGN__ * &)" (?SelectionToHRGN@CxImage@@QAE_NAAPAUHRGN__@@@Z) 中被引用
1>F:\cx_image\Debug\cx_image.exe : fatal error LNK1120: 3 个无法解析的外部命令
1>生成日志保存在“file://f:\cx_image\cx_image\Debug\BuildLog.htm”
1>cx_image - 4 个错误,3 个警告
对于前两个warning,在属性->配置属性->C/C++->命令行:添加 /D "_CRT_SECURE_NO_DEPRECATE"
第三个warning,在属性->配置属性->链接器->命令行:添加
/NODEFAULTLIB:libc.lib /NODEFAULTLIB:libcmt.lib /NODEFAULTLIB:libcd.lib /NODEFAULTLIB:libcmtd.lib
/NODEFAULTLIB:msvcrtd.lib
后面四个error,在属性->配置属性->链接器->输入->附加依赖项:再添加上gdi32.lib,user32.lib
好了,编译后再没有问题,可以编程了

本文详细介绍了如何在Visual Studio 2005环境下编译CxImage6.0库。从下载源码、配置项目、解决编译警告和错误到最后成功编译,每个步骤都提供了具体的指导,包括设置库路径、添加依赖项和解决不安全函数警告。

1641

被折叠的 条评论
为什么被折叠?



