与xlib链接需要做什么?

时间:2009-12-31 01:15:51

标签: c gcc x11 xlib

我正在使用GCC,我需要添加哪些开关才能与Xlib链接?搜索后,我找到的只有-lX11,但这给了我ld: library not found for -lX11

我正在使用mac(10.6),但我不喜欢Mac特有的任何东西。

5 个答案:

答案 0 :(得分:34)

您通常可以使用pkg-config来确定需要传递的标记:

gcc my-program.c $(pkg-config --cflags --libs x11) -o my-program

答案 1 :(得分:4)

$ locate libX11
/Developer/SDKs/MacOSX10.4u.sdk/usr/X11R6/lib/libX11.6.2.dylib
/Developer/SDKs/MacOSX10.4u.sdk/usr/X11R6/lib/libX11.6.dylib
/Developer/SDKs/MacOSX10.4u.sdk/usr/X11R6/lib/libX11.a
/Developer/SDKs/MacOSX10.4u.sdk/usr/X11R6/lib/libX11.dylib
/Developer/SDKs/MacOSX10.5.sdk/usr/X11/lib/libX11.6.2.0.dylib
/Developer/SDKs/MacOSX10.5.sdk/usr/X11/lib/libX11.6.dylib
/Developer/SDKs/MacOSX10.5.sdk/usr/X11/lib/libX11.dylib
/usr/X11/lib/libX11.6.2.0.dylib
/usr/X11/lib/libX11.6.dylib
/usr/X11/lib/libX11.dylib
/usr/X11/lib/libX11.la

我试试

gcc [...] -L/usr/X11/lib -lX11 [...]

设置库的搜索路径。

答案 2 :(得分:4)

你会感到惊讶,但有时-L/usr/X11R6/lib -lX11 的答案是

答案 3 :(得分:2)

您还需要-L/usr/X11/lib。它并不完全是特定于Mac的,但您会发现这些库的位置会因系统而异。

答案 4 :(得分:1)

Ubuntu 12.10(可能还有其他人)需要sudo apt-get install libx11-dev