Windows下基于MSVC搭建libjpeg开发环境

描述

本文转自公众号,欢迎关注

Windows下基于MSVC搭建libjpeg开发环境 (qq.com)

前言

官网

http://ijg.org/

开发环境

下载的是jpegsr9e.zip

开发环境

构建

参考源码中的install.txt

解压源码

打开VS的命令行

C:\\ProgramData\\Microsoft\\Windows\\Start Menu\\Programs\\Visual Studio 2022\\Visual Studio Tools\\VC下的x64 Native Tools Command Prompt for VS 2022

进入到源码路径

cd C:\\Users\\qinyunti\\OneDrive\\wuqi\\usb\\jpegsr9e\\jpeg-9e

此时如果没有进入对应路径,则再输入

C:

生成VS工程V17对应VS2022,将jconfig.vc移动为 jconfig.h并生成工程

nmake /f makefile.vs setup-v17

开发环境

使用nmake /f makefile.vs setupcopy-v17的话保留jconfig.vc可以重复生成。

编译库

双击打开

jpeg.sln

设置平台和自己的平台对应,这里选x64,菜单栏生成->生成解决方案

开发环境

\\Release\\x64下生成静态库文件jpeg.lib

编译测试程序

双击打开

apps.sln

同样选择x86平台,菜单栏生成->生成解决方案

开发环境

\\Release\\x64下生成cjpeg.exe,djpeg.exe,jpegtran.exe,rdjpgcom.exe,wrjpgcom.exe5个测试程序。

自测试

在命令行中

nmake /f makefile.vs test-64

如果是32位平台则

nmake /f makefile.vs test-32

没有差异说明测试OK。

开发环境

测试输入文件位于

jpeg-9e

输出图片位于

jpeg-9e\\Release

在自己的工程中使用

工程配置

在自己的工程目录新建libjpeg文件夹,创建inc和lib子目录。

将jpeg.lib复制到lib目录下。

将源码中所有的.h文件复制到inc目录下。

右键点击工程名->属性

设置包含路径

$(MSBuildProjectDirectory)\\Src\\libjpeg\\inc;

设置库路径

$(MSBuildProjectDirectory)\\Src\\libjpeg\\lib;

开发环境

设置链接的库文件jpeg.lib

开发环境

测试代码

编码测试

复制源码路径的以下文件到自己的工程目录

开发环境

生成解决方案

告警

1>C:\\Users\\qinyunti\\OneDrive\\wuqi\\usb\\USB_VS\\USB\\Src\\cdjpeg.c(154,3): error C4996: 'setmode': The POSIX name for this item is deprecated. Instead, use the ISO C and C++ conformant name: _setmode. See online help for details.

将setmode改为_setmode

fileno改为_fileno

编码测试

从源码路径复制测试文件testimg.ppm过来

.\\cjpeg.exe testimg.ppm testimg.jpg

可以看到testimg.ppm编码为了testimg.jpg

解码测试

添加如下文件

开发环境

同样的

将setmode改为_setmode

fileno改为_fileno

解码测试

.\\USB.exe -bmp -colors 256 testimg.jpg testimg.bmp

可以看到testimg.jpg解码为了testimg.bmp
  

审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分