Leptonica在VS2010中的編譯一,編譯它依賴於庫

無名_四葉草發表於2020-04-05

部分內容轉自:

Leptonica在VS2010中的編譯及簡單使用舉例


在使用Leptonica的時候,它依賴於開源的zlib、libjpeg、libpng、libtiff、giflib。

我編譯的版本分別是:

  1. zlib-1.2.8
  2. jpeg-9a
  3. libpng-1.6.19
  4. tiff-4.0.6
  5. 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所依賴的庫編譯就完成了。

相關文章