如果你想打开JPEG图片,你需要安装libjpeg并编译链接。
如果你想打开PNG图像,你需要安装libpng和libz(用于压缩)并编译和链接它们。
目前,您应该可以使用 NetPBM 格式的图像 - 即 PBM、PGM 和 PPM。
好吧,经过两天痛苦的尝试了解 Visual Studio 2017 的工作原理,以及如何安装和集成 libjpeg 与它,我现在可以解释如何安装 CImg 和 Windows 上的 libjpeg。
第 1 步
您需要安装 Visual Studio 2017,这意味着您需要 Windows 7 SP1 或更高版本。安装的时候一定要包含“Windows 8.1 SDK”
第 2 步
从IJG website 下载libjpeg。我拿了jpegsr9b.zip,因为它是最新的。
第 3 步
解压缩文件并将其存储在您的 HOME 目录中名为 libjpeg 的目录中。
第 4 步
转到开始>所有程序>Microsoft Visual Studio 2017>Visual Studio 工具>VS2017 的开发人员命令提示符
导航到您刚刚解压缩的目录。那将是这样的:
cd libjpeg
cd jpeg-9b
第 5 步
现在您需要找到一个名为win32.mak 的文件。我在C:\Program Files\Microsoft SDKs\Windows\v7.0\Include 找到了我的。如果您有 Windows 8.1 SDK,您的可能在其他地方。无论如何,无论它在哪里,您都需要将其包含目录添加到您的包含中。所以我做了:
set INCLUDE=%INCLUDE%;C:\Program Files\Microsoft SDKs\Windows\v7.0\Include
第 6 步
现在运行 nmake 来获取您的 SLN - 一些奇怪的 Microsoft “解决方案” 文件。命令是:
nmake -f makefile.vc setup-v10
你应该得到一个名为jpeg.sln的文件 - 万岁!
第 7 步
现在启动 Visual Studio 2017,打开您刚刚创建的 jpeg.sln 文件并构建项目。它将在您的libjpeg 目录中创建一个Release 目录,在Release 目录中您将找到jpeg.lib。你现在已经安装了libjpeg。
第 8 步
关闭该项目,并启动一个新的 C++ 命令行项目并编写基于 CImg 的程序。我写过最简单的:
#define cimg_use_jpeg
#include "CImg.h"
using namespace cimg_library;
int main() {
CImg<unsigned char> img("C:\\Users\\Mark\\test.jpg");
img.display("Image");
return 0;
}
第 9 步
从Github 下载CImg.h,并将其保存在您的HOME 目录中名为CImg 的目录中。
第 10 步
现在告诉 Visual Studio 包含文件(CImg 和 libjpeg)在哪里以及库文件(libjpeg)在哪里:
第 11 步
现在告诉 Visual Studio 2017 你想与libjpeg 链接:
第 12 步
现在您可以编译、链接和运行您的 CImg 程序并加载 JPEG 文件并将它们显示在屏幕上!
如果您在 Linux/macOS 上使用 cmake,this answer 会为您指明方向。
如果您在 macOS 上从命令行编译,如果要在屏幕上显示图像,则需要安装 XQuartz,并且您需要像这样:
g++ -std=c++11 sample.cpp -o sample -I /opt/X11/include -L /opt/X11/lib -lX11 -ljpeg -lpng -lz