2009-12-31 18 views
20

Sto usando GCC, quali opzioni devo aggiungere per collegarmi a Xlib? Dopo la ricerca, tutto quello che ho trovato è stato -lX11, ma che mi ha dato ld: library not found for -lX11Cosa devo fare per collegarmi a xlib?

Sto usando un Mac (10.6), ma non vorrei che tutto ciò che è Mac specifica.

risposta

32

Di solito è possibile utilizzare pkg-config per determinare le bandiere è necessario passare:

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

Ehi! Non sapevo che fosse lì. E mi è sempre piaciuto quel tipo di facilità quando i singoli programmi lo forniscono (ad esempio 'root-config' con http://root.cern.ch/). – dmckee

+0

Hmmm ... il mio sembra essere fornito da fink (su Mac OS 10.5). – dmckee

+12

+1: Adoro le risposte quando qualcuno chiede un pesce e ottiene una canna da pesca in cambio :) –

2

È inoltre necessario -L/usr/X11/lib. Non è esattamente specifico per Mac, ma troverete che la posizione di queste librerie varia un po 'da sistema a sistema.

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 

mi piacerebbe provare

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

per impostare il percorso di ricerca per le librerie.

3

Sareste sorpresi, ma a volte -L/usr/X11R6/lib -lX11è la risposta -_-.

1

Ubuntu 12.10 (e probabilmente altri) richiedono sudo apt-get install libx11-dev.

Problemi correlati