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

26

您可能需要通过以下方式将符号链接添加到 X11 文件夹:

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

就我而言,我必须在usr/local.

于 2013-09-25T22:43:23.503 回答
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

该解决方案适用于 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/
于 2013-11-10T17:18:09.797 回答