Подтвердить что ты не робот

"X11/Xlib.h": нет такого файла или каталога на mac os x mountain lion

Я столкнулся с этим, когда компилировал простую программу:

 #include <X11/Xlib.h>
 #include <stdio.h>
 #include <stdlib.h>

 Display* display;

 int main(){
     display = XOpenDisplay("");
     if (display == NULL) {
         printf("Cannot connect\n");
         exit (-1);
     }
     else{
         printf("Success!\n");
         XCloseDisplay(display);
     }
  }

FYI, у меня установлен xQuartz. Я скомпилирую эту программу с помощью команды "g++ -o ex ex.cpp -L/usr/X11R6/lib -lX11".

4b9b3361

Ответ 1

вам нужно скомпилировать с помощью:

g++ -o ex ex.cpp -I/usr/X11R6/include -L/usr/X11R6/lib -lX11

заголовки X11 установлены с xQuartz, но вам нужно явно ссылаться на них

Если вы устанавливаете xQuartz, он устанавливается в /opt/X11, а /usr/X11 и /usr/X11R6 являются символическими ссылками на это местоположение

Ответ 2

Вам может потребоваться добавить символическую ссылку в папку X11:

sudo ln -s/opt/X11/include/X11/usr/local/include/X11

В моем случае я должен был включить каталог include в usr/local.

Ответ 3

Это решение работало для меня на ruby-1.9.3-p362 на Mavericks.

sudo ln -s /opt/X11/include/X11 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/