Ответ 1
Обычно вы можете использовать pkg-config
, чтобы определить флаги, которые необходимо передать:
gcc my-program.c $(pkg-config --cflags --libs x11) -o my-program
Я использую 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
.