“X11 / Xlib.h”:mac os x mountain lion上没有这样的文件或目录

时间:2013-01-14 15:08:43

标签: c x11 osx-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);
     }
  }

仅供参考,我安装了xQuartz。 我使用“g ++ -o ex ex.cpp -L / usr / X11R6 / lib -lX11”命令编译该程序。

3 个答案:

答案 0 :(得分:25)

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

  

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

就我而言,我必须在usr/local下创建include目录。

答案 1 :(得分:12)

你需要编译:

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

X11标头随xQuartz一起安装,但您需要明确引用它们

如果您安装xQuartz,则会安装到/opt/X11,而/usr/X11/usr/X11R6是此位置的符号链接

答案 2 :(得分: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/