25

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

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

4

5 回答 5

42

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

gcc my-program.c $(pkg-config --cflags --libs x11) -o my-program
于 2009-12-31T01:23:24.733 回答
7
$ 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 [...]

设置库的搜索路径。

于 2009-12-31T01:20:12.133 回答
5

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

于 2009-12-31T01:21:35.830 回答
2

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

于 2009-12-31T01:19:21.357 回答
1

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

于 2012-12-08T20:20:40.690 回答