LibJpeg編譯過程

在Unix或Linux系統上的編譯情況如下:

1.       tar xzvf jpegsrcv6b.tar.gz

2.       cd jpeg-6b

3.       ./configure

4.       make

5.       make test(編譯測試程序,看看能否在系統上正確運行)

6.       make install

 

在windows上,用VisualStadio2008編譯的方法如下:

1.       解開原始的zip文件

2.       打開VS2008,新建Project,在彈出的Windows中,選擇Win32 Project,路徑選C:,Name輸入jpeg-6b,不選create directory for silution.點擊Next

3.       在接下去窗口選擇DLL,Empty Project。然後點擊Finish即可。

4.       打開jpeg-6b solution添加文件。在source file中添加.c文件,因爲我們要生成dll,所以參見makelib.ds文件中生成lib所需的.c,不用將所有.c加入

5.       將jconfig.vc改爲jconfig.h.

6.       將jpeg-6b目錄下的.h加入到solution的header files

7.       保存solution後,按F7即可生成dll

8.       加入example.c,將此.c文件中的read_JPG_File作爲dll調用的入口程序

 

在windows上,用VisualStadio編譯的方法如下:

用一個庫的Makefile,可以把libjpeg生成一個靜態的Win32庫,應用程序的Makefile可以生成示例程序(win32命令行應用程序)。

1.       將jconfig.vc複製並改名爲jconfig.h,複製makelib.ds並改名爲jpeg.mk,複製makeapps.ds改名爲apps.mak

2.       點擊.mak文件構造project workspace

3.       先編譯庫項目,再編譯應用程序項目

4.       應用程序在app/Release下

5.       可以執行自檢,NMAKE /f makefile.vc test

 

在windows上,用命令行直接編譯libjpeg.(事先運行vsvars32.bat設置環境變量)

在libjpeg源代碼中有一個Makefile.vc的文件,可以通過nmake /f makefile.vc [nodebug=1]來編譯libjpeg,但是隻能編譯靜態庫。需要修改makefile.vc和jconfig.h才能編譯成dll,可供其它應用程序調用。另外jconfig.vc改爲jconfig.h

在Makefile.vc文件中添加編譯dll規則:

Libjpeg.lib:$(LIBOBJECTS)

$(RM) libjpeg.lib

Lib –out:libjpeg.lib $(LIBOBJECTS)

#添加以下幾行

Libjpeg.dll:$(LIBOBJECTS)

Link –dll –out:libjpeg.dll $(LIBOBJECTS)

在jmorecfg.h中添加

#define _WIN32_

#define JPEG_DLL

然後nmake /f makefile.vc nodebug=1就可以了(在TOOLS/VisualStadio2008 Command Prompt下)

 

Libjpeg允許用戶做一些與機器系統有關的優化。在做優化前,先通過基本的編譯和自檢。在優化之後,重新編譯,運行自檢,以確認你有沒有改錯。詳見其readme.

 

Libjpeg的內存使用

Jmemnobs.c不使用任何存儲備份文件,所用到的空間都有malloc分配,要求系統有足夠的內存或虛擬內存。

Jmemname.c會創建一些臨時文件,用於jpeg解壓。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章