Enlaces y opciones de enlace -L bibliotecas dinámicas, -rpath-link, -rpath

Links Link Options L Dynamic Libraries

A veces, al leer la biblioteca de código fuente abierto, es posible que deba escribir una demostración para el análisis de depuración, será más intuitivo. Tendremos que pasar por la DLL compilada del enlace de origen, y estas bibliotecas dinámicas generalmente no hacen instalación, que no está instalada en la ruta de búsqueda de la biblioteca del sistema predeterminada, usted especifica la ruta de búsqueda de la biblioteca de enlaces en el archivo MAKE en el momento en que el enlace: - Lpath -lmylib, compilación pasada, pero se está agotando el tiempo y se le pide que busque la biblioteca, no quiero modificar la ruta de búsqueda dinámica de la biblioteca del sistema, esta vez: -Wl, -rpath funcionó.

Uso:



|_+_|

¿Qué ruta de búsqueda de biblioteca dinámica de sopath, libmiso.so biblioteca dinámica. -L -l estoy muy familiarizado con las opciones de enlace, -Wl, -rpath por man gcc



|_+_|

-Opciones Wl: opción de transferencia como opción de conector. Más opciones separadas por comas.



Ese -Wl para la opción gcc, pero la opción rpath ld es continuar con man ld:

|_+_|

La ruta de búsqueda de la biblioteca rpath especifica el estado cuando se realiza una operación en movimiento, otro método para especificar la variable de entorno de la ruta de búsqueda de la biblioteca en tiempo de ejecución LD_RUN_PATH, la desventaja de este método es que afecta a otros programas.

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------



Una descripción más detallada: https: //my.oschina.net/shelllife/blog/115958

Cuando use la opción ld link en gcc, debe agregar el prefijo delante de la opción -Wl (una letra l, no 1, he cometido un error repetidamente), distinguir el compilador no es una opción.

Si el vinculador se invoca indirectamente, a través de un controlador de compilador (por ejemplo, gcc), todas las opciones de la línea de comandos del vinculador deben tener el prefijo -Wl (o lo que sea apropiado para el controlador de compilador en particular) de esta manera:

|_+_|

Esto es importante, porque de lo contrario, el programa del controlador del compilador puede eliminar silenciosamente las opciones del vinculador, lo que da como resultado un vínculo incorrecto.