运行 x11 在 Mac OS

Running x11 on Mac OS

我已经正确安装了 XQuarts.app,但是链接阶段有问题。
这是简单的代码。

#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <X11/Xresource.h>

int main() {
    Display* dis = XOpenDisplay(NULL);
    return 0;
}

当我像这样从 XQuartz.app 编译它时

g++ -c main.cpp -I/opt/X11/include

然而它输出:

Undefined symbols for architecture x86_64: "_XOpenDisplay", referenced from: _main in main.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make: *** [default] Error 1

我的mac版本:

Yosemite 10.10.2

我在谷歌上搜索了很多,但找不到任何有用的帮助。提前致谢。

您没有针对 libX11 进行链接。将以下标志添加到链接器命令:

-L/opt/X11/lib -lX11

不重要,但值得注意:您不需要使用 xterm(XQuartz 中的终端)来构建或 运行 X11 应用程序。