14

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

 #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」コマンドでコンパイルします。

4

3 に答える 3

12

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

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

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

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

于 2013-01-14T16:21:24.763 に答える
2

このソリューションは、マーベリックスの 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/
于 2013-11-10T17:18:09.797 に答える