1. 程式人生 > >vs2013 win10 編譯libjpeg以及使用CImg載入jpeg圖片

vs2013 win10 編譯libjpeg以及使用CImg載入jpeg圖片

1、首先要下載libjpeg的原始碼,百度網盤連結 http://pan.baidu.com/s/1kUSNOpT  , 檔案是jpegsr9.zip

2、解壓以後找到makefile.vc檔案,修改!include <win32.mak> 成 本機能夠找到win32.mak檔案的絕對路徑,win10系統的通常修改成

!include <C:/Program Files (x86)/Microsoft SDKs/Windows/v7.1A/Include/Win32.Mak>

3、然後再左下角的搜尋框裡面搜尋visual studio tools找到vs的命令列,執行命令 NMAKE /f makefile.vc  setup-v10。

如果報錯的話,那可能是沒有安裝vs或vc或者是沒有配置好環境變數。那就直接去配置環境變數,設定“include” “lib” “path”三個變數,沒有則新建變數,如果有則在當前變數後面加上分號,win10一般設定成一下:

include : C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include

lib : C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\lib

path : C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin

然後再次執行命令 NMAKE /f makefile.vc  setup-v10 

4、執行結果如下則成功


5、開啟工程jpeg.sln,一開始如果你的vs是高於2010的版本的,則會提示工程需要遷移升級,點選ok就好了。然後直接編譯,就可以在release資料夾裡面找到編譯好的jpeg.lib庫檔案。

6、在你需要用的工程拷進 jpeg.lib , jconfig.h,jmorecfg.h,jpeglib.h ,jerror.h 幾個標頭檔案 ,設定工程屬性中Linker中General下的附加庫路徑為lib檔案的資料夾路徑,設定Linker下input中附加依賴為lib檔案的檔名。

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

到這裡為止,關於libjpeg的配置就完成了,下面是使用CImg在libjpeg的幫助下載入jpeg檔案。

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

1、首先到CImg官方下載它的包,我這裡也提供百度網盤的連結 http://pan.baidu.com/s/1c1WzUne 。 

2、解壓了裡面有幾個檔案和資料夾,那exmaples裡面是示例程式碼,把plugins和resources和CImg.h檔案拷到你的工程下面去,包含進CImg.h檔案啦,接下來是關鍵的一步:

開啟CImg.h檔案,修改Configure LibJPEG support.那一塊的程式碼,修改成

#ifdef cimg_use_jpeg
extern "C" {
#include "jpeglib.h"
#include <setjmp.h>
}
#endif

然後在你工程的cpp檔案中,按順序新增入

#define cimg_use_jpeg
 #include "CImg.h"

最後記得使用cimg_library名稱空間,編譯執行一半是沒有問題。

有的可能會提示錯誤如下

解決辦法給出詳細解說的連結   http://billhsu.me/?p=158 就是在 #define cimg_use_jpeg 前面加入#define XMD_H 這一句定義,編譯執行,這樣就可以使用CImg載入jpeg圖片了。 測試程式碼: CImg<unsigned char> img("xxx.jpg");
如果沒有報錯,則成功了。