c++ - C++ Xcode 9 - 无法从 Cimg 调用函数 display()
问题描述
我在 Xcode 9.0 MacOS 10.14 中 使用Cimg编写 c++ 程序以下是我的代码
#include "CImg.h"
using namespace cimg_library;
int main(){
CImg<unsigned char> img("1.bmp");
auto w = img._width;
auto h = img._height;
printf("%d %d",w,h);
img.display();
return 0;
}
图片的宽度和高度打印正确
但是当它执行到时会发生错误
img.display()
[CImg] *** CImgDisplayException *** CImgDisplay::screen_width():
Failed to open X11 display.
libc++abi.dylib: terminating with uncaught exception of type
cimg_library::CImgDisplayException: CImgDisplay::screen_width():
Failed to open X11 display.
Program ended with exit code: 9
解决方案
macOS不再附带 X11 服务器,所以如果你想使用CImg的display()
功能,你需要安装XQuartz。
您还需要cimg_display
在 #include 之前定义cimg.h
。
另请参阅此处的答案。
确保您可以xclock
在尝试从CImg显示之前运行。
推荐阅读
- dynamics-crm - 将列添加到 CRM365 中的实体字段视图
- c# - Hangfire Server 无法处理 Process.Start(processstartinfo) 的重复作业
- javascript - 将 LocalStorage 添加到暗模式切换
- arrays - 如何在颠簸中比较一个变量的值与另一个变量的值
- excel - Excel:如何根据更改的工作表名称超链接单元格
- reactjs - 如何使用 react-routing 返回状态码
- javascript - 为什么 AND 逻辑功能在我的情况下不起作用?
- deep-learning - 如何通过强化学习在图中找到不同人的步行路径?
- c++ - TIdTCPServer 共享串口
- r - 按日期绘制多个箱线图