CxImage6.0在VS2005下編譯

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

好了,編譯後再沒有問題,可以編程了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章