CxImage6.0在VS2005下编译

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

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

好了,编译后再没有问题,可以编程了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值