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