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