与xlib链接需要做什么?
我正在使用GCC,我需要添加哪些开关才能与Xlib链接? 搜索之后,我找到的只是-lX11
,但这给了我ld: library not found for -lX11
我正在使用mac(10.6),但我不喜欢Mac特有的任何东西。
您通常可以使用pkg-config
来确定需要传递的标志:
gcc my-program.c $(pkg-config --cflags --libs x11) -o my-program
$ 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 [...]
设置库的搜索路径。
你会感到惊讶,但有时-L/usr/X11R6/lib -lX11
就是答案-_-。
你还需要-L/usr/X11/lib
。 它不完全是特定于Mac的,但您会发现这些库的位置会因系统而异。
Ubuntu 12.10(可能还有其他)需要sudo apt-get install libx11-dev
。