Tengo una biblioteca compartida (* .so) creada con Real View Compiler Tools (RVCT 3.2) en Windows target. Luego trato de vincular este archivo * .so con mi aplicación usando gcc en el sistema Linux.Vinculación de una biblioteca compartida mediante gcc
¿Cuál es la opción de gcc para vincular esta biblioteca compartida con mi aplicación linux?
Mi pregunta es, es la opción -shared
, que se utiliza como
gcc -shared myfile.so
..., que se utiliza para crear el archivo SO o para enlazar el archivo SO? Creo que crea algo como:
gcc -lmyfile.so
¿Es esto suficiente? ¿O hay otro cambio para decirle al vinculador que se trata de una biblioteca dinámica (objeto compartido)?
Tengo una pregunta relacionada: En el caso de mi biblioteca libmyfile.so es un enlace simbólico a libyourfile.so, se une mi programa usando gcc -lmyfile siguen trabajando? (Necesito mantener la compatibilidad con versiones anteriores de ciertos clientes que desconocen el cambio de nombre de la biblioteca). – baskin
@jpalecek ¿Funciona si el nombre del archivo tiene la extensión .dll? – saadtaame
¿Qué sucede si la biblioteca no está en '/ usr/bin/ld'? –