是否有人成功将libjpeg包含在某些编译器中?我尝试了一切:Dev C++,VS10,CodeBlocks,手工复制头文件和lib,添加链接器但什么都没有.现在我真的很有问题,因为没有关于如何在任何编译器中编译它的官方指南.如果有人能提供关于如何在任何编译器中编译库的教程,我将非常高兴.先感谢您.
我在 CLion (Ubuntu) 中有一个使用 CImg 库的 C++ 项目。目前,我无法正确构建项目。我在 main.cpp 文件中包含了 CImg.h 文件。我得到一个像这里看到的输出。我通过在终端中运行以下命令确保安装了 X11 工具:
sudo apt-get install libx11-dev
Run Code Online (Sandbox Code Playgroud)
在上面链接的问题中,有一个答案指出要添加以下编译器选项:
-L/usr/X11R6/lib -lm -lpthread -lX11
Run Code Online (Sandbox Code Playgroud)
但是,我遇到了两个问题。首先,我在 CLion 中使用 CMake,而不是命令窗口,所以我不确定如何使用此命令(假设它有效)。其次,上面指定的路径在我的电脑上似乎不存在——/usr 中没有 X11R6 文件夹。因此,如何正确链接所需的 X11 库,以便我可以开始使用 CImg?
(另外,我不知道这是否相关,但我没有安装 Magick++。)
我试图让 CImg 与 Visual Sudio 2017 和 jpeg-9b 一起工作,但由于某种原因它没有。
代码:
#define cimg_use_jpeg
#include "../CImg/CImg.h"
using namespace cimg_library;
#pragma comment(lib, "libjpeg.a")
CImg<unsigned char> image("../images/img.jpg"), visu(500, 400, 1, 3, 0);
Run Code Online (Sandbox Code Playgroud)
第一步是库的构建,在这里我按照说明如何使用MinGW编译器。即使构建成功,生成的库
libjpeg.a在 Visual Studio 解决方案中也是不可链接的。错误信息:
状态错误 LNK2019 未解析的外部符号 __imp___iob 在函数 _output_message 中引用
另一个生成的库libjpeg.dll.a在加载.jpg文件时抛出错误 CImg Exception(图片)
经过几次重建后,问题仍然存在。我也尝试使用 VC 编译器,但找不到调用 build 时所需的win32.mak文件comand nmake -f makefile.vc setup-v10。这个文件的非官方下载在我的电脑上不能正常工作。无法在 Visual Studio 中打开生成的解决方案。
是否有一些解决方法 - 如果没有解决方案?