2009-12-12 22 views
10

Come determinare il percorso della libreria Linux di Ubuntu? Cioè, come fa il linker a sapere dove trovare i file oggetto quando si collega il mio programma?Percorso libreria Ubuntu Linux

risposta

8

I percorsi dei file possono essere impostati in modo esplicito durante il collegamento utilizzando il parametro -L e la variabile di ambiente LD_LIBRARY_PATH.

Ci sono anche alcuni percorsi codificati nel linker, usando il parametro -L. Potete vedere questi con il comando:

gcc -Xlinker -v 
4

Se non si tratta di un percorso standard (/lib, /usr/lib), è possibile specificare la posizione con il flag di compilazione. Per g++, è -L/some/path/lib. Se si utilizzano gli autotools, è sufficiente configurare con LDFLAGS=-L/some/path/lib se è necessario un percorso specifico. Se la configurazione è stata progettata correttamente per il progetto, dovrebbe avere l'opzione --with-some-library=PATH, dove è anche possibile specificare un percorso solo per quella libreria.

6

Vedere /etc/ld.so.conf e i file nella directory /etc/ld.so.conf.d/ - ecco dove è impostato.

4

Durante il collegamento, è necessario specificare il flag -L per indicare dove si trova la libreria. In fase di esecuzione, il linker dinamico utilizza i percorsi indicati in "/etc/ld.so.conf", "/etc/ld.so.conf.d/*" e il valore di LD_LIBRARY_PATH.

3

"sudo ldconfig" aggiorna la cache del sistema se hai appena installato qualcosa di nuovo.

Problemi correlati