Estoy trabajando con JNI. Tengo una biblioteca contenedora (wrapper.so) que usa dos bibliotecas compartidas: one.so y two.sorutas relativas para bibliotecas compartidas
Todo funciona bien. Todos * .so están en la carpeta lib, dentro de la carpeta del programa.
El problema es que si copio esta carpeta en otra computadora, tengo problemas de enlace.
Digamos que ejecutar esto en un usuario2 máquina (/ home/usuario2/programa), y compilé en un usuario1 máquina (/ home/user1/programa), me sale el error vincular:
UnsatisfiedLinkError: /home/user1/program/lib/one.so
¿Cómo puedo hacer que la vinculación de las bibliotecas relativos a la carpeta del programa de los padres (como, búsqueda de this_foler/lib ??
estoy compilando como :
g++ -c -o src/wrapper.o src/wrapper.c
g++ -shared -o wrapper.so src/wrapper.o one.so two.so
@Rockskull si la respuesta funciona, se supone que debes aceptarla, votarla o ambas cosas. Si no lo hace, algunas personas no se molestarán en responder sus preguntas en el tiempo. –
Lo siento. Nuevo en el desbordamiento de pila. Lo acepto, pero no puedo votarlo. – lcguida
@EmployedRussian ¿Conoces el comando correspondiente para el compilador de inteligencia? Gracias. – xslittlegrass