Por lo tanto, estoy construyendo un proyecto y usa funciones de una biblioteca compilada (.dylib o .so). Tengo las cabeceras y los archivos de la biblioteca (todo esto es parte de QtRoot, por cierto) en los lugares adecuados, pero cuando intento de construir mi proyecto en Xcode, me sale un error de depurador:La vinculación está jacked up ... ¿qué es -rpath? MacOS X
dyld: Library not loaded: @rpath/libRIO.so Referenced from: /Users/paulthompson/Documents/Programming/Build Products/Debug/MacHeliosSim.app/Contents/MacOS/MacHeliosSim Reason: image not found sharedlibrary apply-load-rules all Data Formatters temporarily unavailable, will re-try after a 'continue'. (Cannot call into the loader at present, it is locked.)
Ahora, el programa en sí mismo, que se compilará correrá bien si lo abro desde el Finder, pero cada vez que intento ejecutarlo desde Xcode, me falla. ¿Qué es esto de Rpath y por qué el depurador no puede encontrar las bibliotecas, incluso aunque Xcode sepa dónde están, y aparentemente el programa, cuando se ejecuta desde el Finder, también puede encontrarlas?
se ha perdido el paréntesis de cierre en su enlace. –
Correcto, es un paquete .app. Sin embargo, ninguna de las bibliotecas compartidas está en él, a menos que se envuelvan en el binario real. Ni siquiera hay un directorio de frameworks ... De todos modos, el .app se crea haciendo 'build' o 'build and go' desde Xcode. El error surge durante la parte de ir de 'compilar y listo' o si selecciono ejecutar desde dentro de Xcode. El .so, creo, es en realidad un enlace sym al .dylib. Algunos de los archivos de la biblioteca a los que estoy vinculando son archivos .so reales, y otros son .dylib. Creo que incluso hay algunos .a en algún lado, pero puedo estar equivocado. Entonces, ¿estoy perdiendo una – TraxusIV
copia de la fase de compilación de archivos? – TraxusIV