windows下编译源码-Windows平台下,编译libjpeg源码生成vs2013工程

1. 序言

最近需要给自己的设备开发驱动,不可避免地接触到libusb和libuvc这两个开源的基于usb的设备操作库。 在编译libuvc源代码时,遇到了CMake警告消息,主要是由于缺少JPEG图像。 解析库,其实如果项目中不需要这个功能,可以忽略,而且以后恐怕用不到,所以直接找到libjpeg的源码编译一下,补充一下CMake中需要的库文件。 下面记录一下libjpeg的编译过程。

2.文字

首先是下载源码库(点此下载)。 一般来说,我会先从github上下载开源库的源码,而github上的libjpeg源码项目虽然已经很久没有更新了,但是目前github上的libjpeg(点击这里)版本是9a版本2014年1月发布的,最新版本是2020年1月的9d版本,所以大家可以根据项目在github上提供的开发这个库的团队的网站,找到libjpeg所有版本的下载链接。

这里我选择jpegsr9c版本进行编译。 下载完成后,解压压缩包。 编译有两种形式,区别在于第一步命令行的选择(这里我用jpegsr9b和jpegsr9c版本来说明):

windows下编译源码-Windows平台下,编译libjpeg源码生成vs2013工程

首先:

第一步:Win+R打开运行窗口,输入cmd命令打开dos命令窗口,找到vs安装目录下的vsvars32.bat文件(以vs2013为例,路径如右图),

将其拖放到 dos 命令窗口中,然后按 Enter。

windows下编译源码-Windows平台下,编译libjpeg源码生成vs2013工程

第二步windows下编译源码,进入libjpeg解压后的jpeg-9b文件,输入“nmake/fmakefile.vcsetup-v10”命令并回车。 如果不出意外的话,就可以生成我们想要的.sln项目文件了。

注意:命令“nmake/fmakefile.vcsetup-v10”中的“setup-v10”由您下载的libjpeg版本决定。 据我所知,libjpeg的9a和9b版本支持v10,但是9c以后就只有v15了,所以如果要编译9c版本,需要改成“nmake/fmakefile.vcsetup-v15” ”。 怎么看呢,直接打开解压后的文件夹即可,如下:

编译过程及结果:

windows下编译源码-Windows平台下,编译libjpeg源码生成vs2013工程

第二种:

第一步,打开vs2013命令行(vs2013x86本机工具命令提示符)执行编译,一般在开始菜单中vs文件夹下的Visual Studio Tools中。 与第一个相比,不同之处在于:在解压后的文件夹中找到makefile.vc文件windows下编译源码,用文本编辑器打开,添加!include

windows下编译源码-Windows平台下,编译libjpeg源码生成vs2013工程

改为!include,在笔记本C盘中搜索,找到win32.mak文件,根据路径进行更改(一般会在C:Program Files(x86)MicrosoftSDKsWindows这个路径下)。 如果笔记本上没有该文件,可以从网上下载并放在你想要的位置,并更改相应的路径。

第二步与第一种编译方法相同,不再赘述。

编译过程及结果: 可以看到,9c版本编译时如果不改成“setup-v15”,就会报错。

最后我们想要的.sln项目就生成了,这时候就简单多了。 打开 jpeg-9c 文件夹并运行 jpeg.sln。 这时候我们就需要注意了,因为我们生成的是v15,而且版本明显比我们高。 vs2013较高,所以需要将平台工具集从v141改为v120,右键jpeg项目,选择属性菜单,如下:

更改完成后,直接编译生成Release版本的静态链接库jpeg.lib。 如果需要其他版本,需要自行配置vs配置管理器。 使用时可以参考这篇博客,直接复制代码,更改头文件的路径,包含lib文件。

参考:

(1)VS2013编译libjpeg库;

(2)用vs2017编译libjpeg(jpeg-9c)。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 源码编译 windows下编译源码-Windows平台下,编译libjpeg源码生成vs2013工程 https://www.wkzy.net/game/193392.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务