Chinaunix首页 | 论坛 | 博客
  • 博客访问: 541613
  • 博文数量: 102
  • 博客积分: 2146
  • 博客等级: 大尉
  • 技术积分: 1146
  • 用 户 组: 普通用户
  • 注册时间: 2010-10-09 17:32
文章分类

全部博文(102)

文章存档

2015年(14)

2014年(24)

2013年(5)

2012年(30)

2011年(16)

2010年(13)

分类: 嵌入式

2011-02-23 13:31:11

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解压。


最后生产几个可执行文件:cjpeg,djpeg,jpegtran,rdjpgcom,wrjpgcom

其中cjpeg可以压缩其他图片格式文件成jpg格式,djpeg可以将jpg格式图片文件解压缩成其他格式,

举例:

djpeg -os2 x.jpg > x.bmp

djpeg -pnm x.jpg > x.ppm

阅读(5627) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~