libjpeg在windows下的编译 | 迟思堂工作室
A-A+

libjpeg在windows下的编译

2014-08-30 19:44 Windows程序 暂无评论 阅读 3,316 次

以前搞图片在LCD屏上显示的时候,曾经在Linux下编译过libjpeg,现在再次编译,不过换了平台而已。本文使用的编译器为VS2003,编译的libjpeg为最新版本,即jpeg-8c。

编译步骤:
1、添加环境变量PATH:C:Program FilesMicrosoft Visual Studio .NET 2003Vc7bin
2、解压jpegsrc.v8c.tar.gz,得到jpeg-8c
3、修改源代码中jconfig.vc为jconfig.h
4、修改makefile.vc,将Pull in standard variable definitions下面的一行换为

!include <C:Program FilesMicrosoft Visual Studio .NET 2003Vc7PlatformSDKIncludeWin32.Mak>

5、在all:libjpeg.lib 中添加dll的编译

libjpeg.dll: $(LIBOBJECTS)$(RM) libjpeg.dlllink -dll -out:libjpeg.dll  $(LIBOBJECTS)

6、在dos下进入源代码目录,输入

vcvars32

编译

nmake /f makefile.vc nodebug=1

7、在当前目录生成libjpeg.dll和libjpeg.lib

头文件:jconfig.h、jerror.h jmorecfg.h jpeglib.h

PS:
1、VS使用时需要内存对齐问题,如果需要更改,在更改后就改回原来默认的8字节,否则,libjpeg库中的结构体大小会不对应,运行时会提示错误信息。可以利用#pragma pack(push) #pragma pack(n) #pragma pack(pop)来解决此问题。
2、接下面将写两个例子:利用libjpeg解压jpg图片,并保存为BMP。读取BMP图片,利用libjpeg压缩为jpg图片。



如果本文对阁下有帮助,不妨赞助笔者以输出更多好文章,谢谢!
donate




给我留言