gpt4 book ai didi

c++ - CImg.h无法在Xcode环境中运行

转载 作者:行者123 更新时间:2023-12-02 10:24:30 27 4
gpt4 key购买 nike

*****码*****

#include "CImg.h"
#include <stdlib.h>

using namespace cimg_library;

int main() {

CImg<unsigned char> image("lena.png");

image.display();

return 0;

}

*****错误*****
构建成功,但存在某些地方:
输出:

[CImg] * CImgIOException * [instance(0,0,0,0,0x0,non-shared)] CImg::load():无法打开文件'lena.png'。
libc++ abi.dylib:以cimg_library::CImgIOException类型的未捕获异常终止:[instance(0,0,0,0,0x0,non-shared)] CImg::load():无法打开文件'lena。 png”。

最佳答案

如果要在macOS上使用CImg,则需要做几件事。
步骤1-PNG支持
如果您希望 CImg 能够打开PNG文件,则必须首先安装libpnglibz,您可以使用 homebrew 来完成此操作,如下所示:

brew install libpng
然后,您必须告诉 CImg 您希望它包括对PNG文件的支持,您可以通过在包括 CImg.h之前声明一个 来定义它。
#define cimg_use_png 1
#include "CImg.h"
然后,您必须告诉 Xcode 库在哪里。这是最简单的通过pkgconfig,因此请使用以下命令进行安装:
brew install pkg-config
现在,您可以使用以下命令获取头文件(#includes)的路径:
pkg-config --cflags /usr/local/lib/pkgconfig/libpng.pc
输出
-I/usr/local/Cellar/libpng/1.6.34/include/libpng16
这就告诉您在 Xcode 中放置什么到头文件的路径。然后,您需要使用以下命令找到链接器设置:
pkg-config --libs /usr/local/lib/pkgconfig/libpng.pc
输出
-L/usr/local/Cellar/libpng/1.6.34/lib -lpng16 -lz
因此,您必须将其放入 Xcode 中,作为链接库的路径和要链接到的库的名称。
第2步-X11支持
完成此操作后,并且仅当您要在屏幕上显示图像时,才需要设置 XQuartz ,因为 macOS 不再与X11服务器一起提供。
因此,转到to this website并下载并安装 XQuartz 。然后,您需要告诉 Xcode XQuartz的 header (#includes)在哪里,即:
/opt/X11/include
以及如何链接:
-L /opt/X11/lib -lX11
您需要对我的答案to this question中的 Xcode 中的位置进行一些有用的截屏。

关于c++ - CImg.h无法在Xcode环境中运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49089766/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com