J’utilise GCC, quels commutateurs dois-je append pour établir un lien avec Xlib? Après avoir cherché, tout ce que je pouvais trouver était -lX11
, mais cela m’a donné ld: library not found for -lX11
J’utilise un Mac (10.6), mais je n’aimerais rien de ce qui est spécifique à Mac.
Vous pouvez généralement utiliser pkg-config
pour déterminer les drapeaux à transmettre:
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
J’essaierais
gcc [...] -L/usr/X11/lib -lX11 [...]
définir le chemin de recherche des bibliothèques.
Vous seriez surpris, mais parfois -L/usr/X11R6/lib -lX11
est la réponse -_-.
Vous avez également besoin de -L/usr/X11/lib
. Ce n’est pas exactement spécifique à Mac, mais vous constaterez que l’emplacement de ces bibliothèques varie un peu d’un système à l’autre.
Ubuntu 12.10 (et probablement d’autres) ont besoin de sudo apt-get install libx11-dev
.