Que dois-je faire pour créer un lien avec xlib?

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 .