簡単なプログラムをコンパイルしているときに、これに遭遇しました。
#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」コマンドでコンパイルします。
次のコマンドでコンパイルする必要があります。
g++ -o ex ex.cpp -I/usr/X11R6/include -L/usr/X11R6/lib -lX11
X11
ヘッダーはxQuartz
とともにインストールされますが、明示的に参照する必要があります
xQuartz
をインストールすると/opt/X11
にインストールされ、/usr/X11
と/usr/X11R6
はこの場所へのシンボリックリンクです
次の方法でX11フォルダにシンボリックリンクを追加する必要がある場合があります。
Sudo ln -s/opt/X11/include/X11/usr/local/include/X11
私の場合、usr/local
の下にincludeディレクトリを作成する必要がありました。
このソリューションは、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/