Libjpeg开放源代码编译

研究

UnixLinux系统上的编译情况如下:

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.       在接下去窗口选择DLLEmpty Project。然后点击Finish即可。

4.       打开jpeg-6b solution添加文件。在source file中添加.c文件,因为我们要生成dll,所以参见makelib.ds文件中生成lib所需的.c,不用将所有.c加入

5.       jconfig.vc改为jconfig.h.

6.       jpeg-6b目录下的.h加入到solutionheader 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.vcjconfig.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解压。

你可能感兴趣的:(Libjpeg开放源代码编译)