Leptonica在VS2010中的編譯二,編譯 Leptonica1.68
官方編譯資料
是英文的,英文好的可直接參考 官方VS2008編譯資料
Leptonica依賴的包編譯請參考 Leptonica在VS2010中的編譯一,編譯它依賴於庫
編譯前準備:
- 下載原始碼 leptonica-1.68.tar.gz
- 下載VS2008工程 vs2008-1.68.zip
- 下載lib和include leptonica-1.68-win32-lib-include-dirs.zip
- 編譯Leptonica依賴的包,前面已經講過。
注意上面的3裡面的lib是vs2008編譯的,將vs2010編譯好的檔案放到lib目錄。
編譯
建立如下目錄:
BuildFolder\
include\
leptonica-1.68\
lib\
- 將leptonica-1.68-win32-lib-include-dirs.zip解壓的include目錄裡面的檔案放到上面的include目錄。
- 將leptonica-1.68.tar.gz的解壓的檔案放到leptonica-1.68目錄
- 將vs2008-1.68.zip解壓的檔案放到leptonica-1.68目錄
- 拷貝一份vs2008到當前目錄,改名為2010.
目錄結構如下
BuildFolder │ ├─include │ ├─leptonica-1.68 │ ├─vs2008 │ ├─vs2010 └─lib
用vs2010開啟“leptonica.sln”,開始編譯
- 有些檔案會出現奇怪的C2275和C2146錯誤,解決方法,找到出錯處,將所有變數的宣告放在函式的開頭即可;
- 有些檔案會出現奇怪的C2057錯誤,解決方法,註釋掉類似的static const l_int32 L_BUF_SIZE = 52;新建一個redefineconstant.h檔案,將此檔案包含到出現此問題的檔案中,redefineconstant.h檔案的內容為:
#ifndef _REDEFINE_CONSTANT_H #define _REDEFINE_CONSTANT_H #include "allheaders.h" #define L_BUF_SIZE 512 #define MAX_ALLOWED_DILATION 25 #endif // _REDEFINE_CONSTANT_H
- 依賴包版本修改,“ZLIB_VERSION”的定義在“leptonica_versionnumbers.props”檔案中,可以修改具體的值。
1.72編譯需要註釋掉:tiff4.0.6的tiffiop.h的下面程式碼<PropertyGroup Label="UserMacros"> <GIFLIB_VERSION>416</GIFLIB_VERSION> <LIBJPEG_VERSION>8c</LIBJPEG_VERSION> <LIBLEPT_VERSION>168</LIBLEPT_VERSION> <LIBLEPT_NUMBER>1.68</LIBLEPT_NUMBER> <LIBPNG_VERSION>143</LIBPNG_VERSION> <LIBTIFF_VERSION>394</LIBTIFF_VERSION> <ZLIB_VERSION>125</ZLIB_VERSION> </PropertyGroup>
//#if !defined(HAVE_SNPRINTF) && !defined(HAVE__SNPRINTF) //#undef snprintf //#define snprintf _TIFF_snprintf_f //extern int snprintf(char* str, size_t size, const char* format, ...); //#endif
相關文章
- Leptonica在VS2010中的編譯一,編譯它依賴於庫編譯
- 在Progress編輯器中批次編譯程式編譯
- VS2010靜態編譯編譯
- VS2010 編譯jrtplib編譯
- 在 Windows 中編譯 Github 中的 GO 專案Windows編譯GithubGo
- Jive工程在JB8中的編譯編譯
- 編譯器的編譯基本過程編譯
- FreeBSD中的GNU C編譯器--編譯器GCC(轉)編譯GC
- Java編譯與反編譯Java編譯
- Equalizer vs2010 編譯 注意問題編譯
- VS2010編譯配置Blitz-0.9編譯
- [Web翻譯]JavaScript中的編譯與填充WebJavaScript編譯
- 在Windows下編譯WebRTCWindows編譯Web
- 在eclipse 中編譯Launcher2的方法Eclipse編譯
- 編譯編譯
- Rust 在 cargo 中進行條件編譯RustCargo編譯
- vs2010 編譯多個project問題編譯Project
- WPA Supplicant 在Windows下的編譯Windows編譯
- Mangos 研究-編譯工作(二) 薦Go編譯
- 編譯器的自展和自舉、交叉編譯編譯
- cmake編譯指定自己編譯的庫路徑編譯
- hadoop編譯—+2.x編譯Hadoop編譯
- gcc 編譯器與 clang 編譯器GC編譯
- 一張圖解析 編譯器編譯流程圖解編譯
- ubuntu下編譯交叉編譯工具鏈Ubuntu編譯
- [譯]iOS編譯器iOS編譯
- 程式碼線上編譯器(上)- 編輯及編譯編譯
- 反編譯系列教程(中)編譯
- SCSS 的編譯CSS編譯
- 在CentOS 7上編譯QtumCentOS編譯QT
- jsoncpp在linux編譯JSONLinux編譯
- Nginx 的編譯並打包成二.txtNginx編譯
- Mac平臺反編譯Unity編譯的安卓apkMac編譯Unity安卓APK
- 開源編譯工具和編譯軟體編譯
- Make編譯之編譯32bit ffmpeg編譯
- N1064編譯鏈編譯編譯
- ORACLE EBS系統中的編譯Oracle編譯
- vs2010編譯生成後清除obj目錄編譯OBJ