Я новичок в использовании CImg. Я уже установил CImg с помощью brew install cimg
, а затем установил XQuartz. Когда я пытаюсь запустить эту программу в терминале, я получаю эту ошибку:
Код:
#include <iostream>
#include "CImg.h"
using namespace cimg_library;
using namespace std;
int main() {
CImg<unsigned char> A("img.png");
A.display();
return 0;
}
Ошибка:
[CImg] *** CImgIOException *** [instance(0,0,0,0,0x0,non-shared)] CImg<unsigned char>::load(): Failed to recognize format of file 'img.png'.
libc++abi.dylib: terminating with uncaught exception of type cimg_library::CImgIOException: [instance(0,0,0,0,0x0,non-shared)] CImg<unsigned char>::load(): Failed to recognize format of file 'img.png'.
И когда я пытаюсь запустить тот же код с #define cimg_use_png 1
поверх #include "CImg.h"
, я получаю эту ошибку компоновщика
Решение: это правильный способ компиляции файла. g++ -std=c++11 main.cpp -o main -I /opt/X11/include -L /opt/X11/lib -lX11 -ljpeg -lpng -lz
. Источник И #define cimg_use_png 1
должен быть там.