libjpeg 静态编译教程
- W_Z_C
- 共 924 字,阅读约 2 分钟
IJG 是一个非正式小组,负责编写和分发用于 JPEG 图像压缩的广泛使用的免费库。第一版于 1991 年 10 月 7 日发布,当前最新的版本号是 2020 年 1 月 12 日发布的 9d 。libjpeg 为许多应用程序的 JPEG 支持奠定了坚实的基础。
本篇文章主要是介绍在 Windows 平台下,如何编译 libpng 的静态库。在开始之前,请确认你的机器已经安装了 Visual Studio,如果你不知道怎样安装,可以参考 Visual Studio 安装教程。
去 官网下载最新的源码包,解压。目录中包含了很多 makefile 开头的文件,其中 makefile.vs 就是 Windows 平台编译需要的配置文件。
打开开始菜单,找到 VS2019 的命令行工具,推荐 x64 版本(看你自己电脑的版本)。
切换目录到 jpeg 的源码目录:
如果你的电脑上安装的是 VS2019 以后的版本(包括 VS2019),则执行:
NMAKE /f makefile.vs setup-v16
否则执行:
NMAKE /f makefile.vs setup-vc6
执行完毕后,会生成相应的工程文件。因为我安装的是 VS2019,所以会生成 jpeg.sln 解决方案。可以直接双击打开:
解决方案可以直接编译出 Release 版本,遗憾的是工程配置中不包含 Debug 版本,我们需要自己增加一个配置方案。
在菜单栏,可以点击下拉列表,打开配置管理器:
打开活动解决方案配置下方的下拉列表,点击新建按钮:
起名为 Debug,并且方案的属性从 Release 复制。这样我们就有了一个名称为 Debug,但是属性为 Release 配置方案。
接着我们修改 Debug 方案的工程属性,右键打开工程属性:
选择 Debug 配置进行调整:
修改 C/C++ 常规如下:
调整优化配置如下:
修改 C/C++ 预处理器如下(主要是宏定义):
修改代码生成生成如下:
全部修改完毕,点击确定即可。按照 Debug/Release 和 /MT 以及 /MD 之分,至少可以组合四种配置,所以我们分别选择不同的配置属性,生成最后的四种库文件,并将它们放到不同的目录下。具体的配置方法可以查看 运行时库详解 这篇文章,每次修改配置都编译一次工程,编译成功后,将生成的结果放到一开始设定的目录下,最后的目录结构如下:
---
|--- include //放头文件
|--- lib
|--- Debug
| |--- MDd
| | |-- jpeg.lib
| |
| |--- MTd
| |-- jpeg.lib
|
|--- Release
|--- MD
| |-- jpeg.lib
|
|--- MT
|-- jpeg.lib
为了方便这里我打包了最后的结果,方便大家直接使用,不过这里只有 x64 版本,如果你的机器还是 32 位系统则无法使用。libjpeg 静态库下载