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");如果沒有報錯,則成功了。