2009-12-12 11 views
10

¿Cómo determino la ruta de la biblioteca Ubuntu Linux? Es decir, ¿cómo sabe el vinculador dónde conseguir los archivos objeto al vincular mi programa?Ubuntu Linux Library Path

Respuesta

8

Las rutas de archivos se pueden configurar de forma explícita al vincular utilizando el parámetro -L, así como la variable de entorno LD_LIBRARY_PATH.

También hay algunas rutas de acceso codificadas en el vinculador, utilizando el parámetro -L. Se puede ver esto con el comando:

gcc -Xlinker -v 
4

Si no es una ruta estándar (/lib, /usr/lib), se puede especificar la ubicación con la bandera del compilador. Para g++, es -L/some/path/lib. Si usa autotools, puede simplemente configurar con LDFLAGS=-L/some/path/lib si necesita una ruta específica. Si la configuración se ha diseñado correctamente para el proyecto, debe tener una opción --with-some-library=PATH, donde también puede especificar una ruta para esa biblioteca solamente.

6

Mire /etc/ld.so.conf y los archivos en el directorio /etc/ld.so.conf.d/ - ahí se establece.

4

Al vincular, debe especificar el distintivo -L para indicar dónde se encuentra la biblioteca. En tiempo de ejecución, el enlazador dinámico usa las rutas dadas en "/etc/ld.so.conf", "/etc/ld.so.conf.d/*" y el valor de LD_LIBRARY_PATH.

3

"sudo ldconfig" actualiza la memoria caché del sistema si acaba de instalar algo nuevo.

Cuestiones relacionadas