2009-12-31 13 views
20

Estoy usando GCC, ¿qué botones necesito agregar para vincular con Xlib? Después de buscar, todo lo que pude encontrar fue -lX11, pero eso me dio ld: library not found for -lX11¿Qué debo hacer para vincularme con xlib?

Estoy usando un mac (10.6), pero no me gustaría nada que sea específico de Mac.

Respuesta

32

normalmente se puede utilizar para determinar pkg-config las banderas que necesita para aprobar:

gcc my-program.c $(pkg-config --cflags --libs x11) -o my-program 
+0

¡Hola! No sabía que estaba allí. Y siempre me ha gustado ese tipo de facilidad cuando los programas individuales lo suministran (por ejemplo, 'root-config' con http://root.cern.ch/). – dmckee

+0

Hmmm ... el mío parece ser suministrado por fink (en Mac OS 10.5). – dmckee

+12

+1: Me encantan las respuestas cuando alguien pregunta por un pez y obtiene una caña de pescar a cambio :) –

2

También necesita -L/usr/X11/lib. No es exactamente específico de Mac, pero encontrará que la ubicación de estas bibliotecas variará un poco de un sistema a otro.

4
$ 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 

que iba a tratar

gcc [...] -L/usr/X11/lib -lX11 [...] 

para establecer la ruta de búsqueda de bibliotecas.

3

Se sorprendería, pero a veces -L/usr/X11R6/lib -lX11es la respuesta -_-.

1

Ubuntu 12.10 (y probablemente otros) requieren sudo apt-get install libx11-dev.

Cuestiones relacionadas