web-dev-qa-db-ja.com

「X11 / Xlib.h」:mac os x MountainLionにはそのようなファイルやディレクトリはありません

簡単なプログラムをコンパイルしているときに、これに遭遇しました。

 #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);
     }
  }

参考までに、xQuartzをインストールしています。このプログラムは「g ++ -o ex ex.cpp -L/usr/X11R6/lib-lX11」コマンドでコンパイルします。

14
jasonkim

次のコマンドでコンパイルする必要があります。

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

X11ヘッダーはxQuartzとともにインストールされますが、明示的に参照する必要があります

xQuartzをインストールすると/opt/X11にインストールされ、/usr/X11/usr/X11R6はこの場所へのシンボリックリンクです

12
Petesh

次の方法でX11フォルダにシンボリックリンクを追加する必要がある場合があります。

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

私の場合、usr/localの下にincludeディレクトリを作成する必要がありました。

25
skndmx

このソリューションは、MavericksのRuby-1.9.3-p362で機能しました。

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