当我编写一个简单的程序时,我遇到了这个:
#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”命令编译该程序。
答案 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/