准备工作

编译环境

Windos10,Visual Studio 2022

jpeglib源码

http://www.ijg.org/下载Windows版本的压缩包,例如我下载的是 jpegsr9e.zip 版本,然后解压到喜欢的地方

VS必需组件

在VS中,必须已经装好 “使用C++的桌面开发” 这一组件。如果没有,就在Visual Studio Installer里进行安装

编译过程

在解压的文件夹中可以看到install.txt,其实就是安装指南,不过过了两天才搞明白Windows+VS2022的版本在文档的很后面了,大概是这样的,不是很长,想看的也可以自己去看着来操作。

1.确保已经安装了“使用C++的桌面开发”组件

上面已经提到过了

2.打开VS带有的命令行终端,Developer Command Prompt for VS

这个在开始菜单里可以找到,或者在VS里打开也可以,用这个是为了使用 nmake 命令

然后再命令行中进入到解压文件夹中,比如 /jpegsr9e/jpeg-9e,然后输入

nmake /f makefile.vs setup-v17

然后就会自动把 jconfig.vc 改为jconfig.h,生成jpeg.sln和app.sln等文件

3.打开jpeg.sln

在VS上方的解决方案平台选择 x64(因为我是64位系统),然后点击执行

4.打开app.sln

同上,点击执行

不过要注意的是,这里有5个项目,cjpeg,djpeg等等,每个都要进行生成,否则等会就会报错

最后在Release文件夹中就有所需要的jpeg.lib文件,以及在里面有cjpeg.exe等所需的程序

至于怎么在matlab中编译,待我明天继续尝试……

总结

在网上搜了很多博客,大多都是直接手动改jconfig文件和直接编译makefile.vc,但是最终还是自己仔细看了安装文本,实际上步骤非常简单,而且最新的安装指导也更加人性化了,不需要自己手动改文件什么的。另外,他们说的要改win32.mak路径这一点,貌似也可以省去了(亏我还下了一个)。而且,最终生成的是jpeg.lib,而不是libjpeg.lib
还有就是,提高英文水平,不过利用翻译软件翻译文档也是个很不错的方法(两者对照着看更容易理解)。

所以啊,还是得自己认真看说明书……很多之前的博客,过个一两年可能就已经过时了。

参考文章:https://blog.csdn.net/Harbour_zhang/article/details/106038087这篇文章帮助很大,感谢