CImg.h 无法在 Xcode 环境中运行
CImg.h can't run in Xcode environment
******代码*****
#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 文件,则必须首先安装libpng
和libz
,您可以使用自制软件执行以下操作:
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 服务器。
因此,请访问此网站并下载并安装XQuartz。然后你需要告诉XcodeXQuartz 的标头 (#includes) 在哪里,即:
/opt/X11/include
以及如何与之链接:
-L /opt/X11/lib -lX11
有一些有用的截图,你需要改变Xcode中的地方,你需要改变我对这个问题的回答。
- 在编译时为运行时设置环境变量
- 在运行时环境中使用 C++ w/ Lua
- 选择特定版本的 Visual Studio 命令行工具包,并根据特定版本的C++运行时环境编译文件
- Visual Studio代码运行环境
- 什么是运行英特尔线程构建模块的 XCode 8 环境变量
- 在运行时将更改的环境变量应用于 QApplication
- C++ - 我需要一个宏或环境变量来检测我何时在 Windows 上运行 bazel
- 在 Visual Studio 2017 C++项目中设置调试/运行环境变量
- CImg.h 无法在 Xcode 环境中运行
- 如何使用C JNI环境运行Springboot应用程序
- Java 运行时环境检测到致命错误:Java 中的 OpenCV 椭圆检测
- 是否可以在Windows 8环境上在Visual Studio 2005上运行VC ,Win32应用程序
- 为特定过程的特定运行设置环境变量
- 如果可执行文件在两个或多个节点上运行,为什么它不能看到环境变量?
- 如何改进此代码以便在多线程环境下运行
- 在 Linux 环境中运行内联汇编(使用 GCC/G++)
- QSerialPort 在开发环境之外运行时崩溃
- 创建一个可以在 Windows 环境中的现有生成文件项目上运行的 clang 工具
- 在没有 cygwin 环境的 Windows 中运行 cygwin 构建的 exe
- 检测 Linux 下的 32 位进程是否在 64 位环境中运行