Leptonica在VS2010中的編譯一,編譯它依賴於庫
部分內容轉自:
在使用Leptonica的時候,它依賴於開源的zlib、libjpeg、libpng、libtiff、giflib。
我編譯的版本分別是:
- zlib-1.2.8
- jpeg-9a
- libpng-1.6.19
- tiff-4.0.6
- giflib-5.1.1
上面的原始碼我已經上傳為資原始檔,如果需要請下載。
Leptonica的編譯步驟:
1. 從http://www.zlib.net/ 下載最新的zlib-1.2.8原始碼,新建zlib靜態庫工程,將/zlib-1.2.8目錄下的.h、.c檔案加入到此工程中,編譯生成zlib靜態庫;
2. 從http://www.libpng.org/pub/png/libpng.html下載最新的libpng-1.6.19,新建libpng靜態庫工程,將/lpng1619目錄下的.h、.c檔案加入到此工程中,將/lpng1619/scripts目錄下的pnglibconf.h.prebuilt檔案拷貝到/lpng1619目錄下,並修改檔名為pnglibconf.h,將此檔案也加入到此工程中,將pngstruct.h檔案中zlib.h改成正確的存放路徑,編譯生成libpng靜態庫;
3. 從http://libjpeg.sourceforge.net/ 下載最新的jpeg-9a原始碼,新建ligjpeg靜態庫工程,將/jpeg-9a目錄下的.h、.c檔案加入到此工程中(jmemdos.c和jmemmac.c檔案除外),將jconfig.vc重新命名為jconfig.h,將此檔案也加入到此工程中,編譯生成libjpeg靜態庫;
4. 從ftp://ftp.remotesensing.org/pub/libtiff下載穩定版的tiff-4.0.6原始碼,新建libtiff靜態庫工程,將/tiff-4.0.6/libtiff目錄下相應的.h、.c檔案加入到此工程中,將tiff_config.vc.h、tiffconf.vc.h分別重新命名為tiff_config.h、tiffconf.h,將此兩個檔案也加入到此工程中,編譯生成libtiff靜態庫;
5. 從http://sourceforge.net/projects/giflib/下載最新的gitlib-5.1.1原始碼,新建giflib靜態庫工程,將/giflib-5.1.1目錄下相應的.h、.c檔案加入到此工程中,對原始檔進行調整,將原始檔中用到#include <stdbool.h>的地方,用以下語句替換,
//#include <stdbool.h>
#ifndef __cplusplus
typedef int bool;
#define false 0
#define true 1
#endif
將檔案中用到的#include<unistd.h>的地方均註釋掉,編譯生成giflib靜態庫;上面Leptonica所依賴的庫編譯就完成了。
相關文章
- Leptonica在VS2010中的編譯二,編譯 Leptonica1.68編譯
- Rustyinject是Rust的編譯時依賴注入DI庫Rust編譯依賴注入
- 交叉編譯庫依賴問題的解決方法編譯
- [譯]使用Go Cloud的Wire進行編譯時依賴注入GoCloud編譯依賴注入
- 在iOS專案中依賴Flutter Module-③本地podspec中轉依賴遠端Flutter編譯產物iOSFlutter編譯
- 一個專案 兩個cgo依賴編譯不通過Go編譯
- 前端彙總系列:npm依賴(構建編譯)前端NPM編譯
- 關於Gradle編譯時下載依賴失敗解決方法Gradle編譯
- [譯]javascript中的依賴注入JavaScript依賴注入
- cmake編譯指定自己編譯的庫路徑編譯
- 【譯】Gradle 的依賴關係處理不當,可能導致你編譯異常Gradle編譯
- C++ 編譯依賴管理系統分析以及 srcdep 介紹C++編譯
- 【譯】為什麼命名“它”為依賴屬性(DependencyProperty)
- [譯] 在 iOS 上使用 Carthage 建立依賴iOS
- [譯] 依賴注入?? 哈??依賴注入
- 【Android 安全】DEX 加密 ( 代理 Application 開發 | 加密解密演算法 API | 編譯代理 Application 依賴庫 | 解壓依賴庫 aar 檔案 )Android加密APP解密演算法API編譯
- 在 Windows 中編譯 Github 中的 GO 專案Windows編譯GithubGo
- LINUX下編譯原始碼時所需提前安裝的常用依賴包列表Linux編譯原始碼
- Java編譯與反編譯Java編譯
- 【webpack進階】使用babel避免webpack編譯執行時模組依賴WebBabel編譯
- 關於go程式的靜態連結編譯是否可以不依賴系統C庫Go編譯
- 編譯lua動態庫編譯
- 在Windows下編譯WebRTCWindows編譯Web
- N1064編譯鏈編譯編譯
- libusb android ndk編譯--編譯mipsAndroid編譯
- hadoop編譯—+2.x編譯Hadoop編譯
- [Web翻譯]JavaScript中的編譯與填充WebJavaScript編譯
- 編譯編譯
- FFmpeg編譯Android使用的so庫編譯Android
- Typescript編譯原理(一)TypeScript編譯原理
- 編譯器的自展和自舉、交叉編譯編譯
- Android Apk反編譯系列教程(一)如何反編譯APKAndroidAPK編譯
- ffmpeg學習window下使用Visual Studio建立cpp專案新增ffmpeg原始碼編譯好的依賴庫原始碼編譯
- Rust 在 cargo 中進行條件編譯RustCargo編譯
- SCSS 的編譯CSS編譯
- Windows下下載編譯boost庫Windows編譯
- 編譯開源 Swift Foundation 庫編譯Swift
- 在CentOS 7上編譯QtumCentOS編譯QT