LibJpeg編譯過程

來源:互聯網
上載者:User

在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解壓。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.