CImg не распознает png/jpeg macOS

Я новичок в использовании 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 должен быть там.


person Benjamín Paolo Díaz García    schedule 16.10.2020    source источник
comment
stackoverflow.com/questions/46055720/ Ориентирован на Visual Studio, но в основном, если вы хотите загрузить jpg или png, вам нужно связать с соответствующими библиотеками. Это может помочь на Mac. stackoverflow.com/questions/38903996/   -  person Retired Ninja    schedule 17.10.2020
comment
@RetiredNinja, который решил это, спасибо.   -  person Benjamín Paolo Díaz García    schedule 17.10.2020