Pregunta

Estoy desarrollando una aplicación Qt en Linux usando Qt Creator (2.1 RC). He creado 2 proyectos, y se utiliza el asistente para agregar el proyecto de biblioteca para el proyecto de aplicación. Sin embargo, cuando lo ejecuto, recibo el error:

/home/jakepetroules/silverlock/silverlock-build-desktop/desktop/silverlock: error while loading shared libraries: libsilverlocklib.so.1: cannot open shared object file: No such file or directory

¿Hay alguna variable qmake puedo configurar para que Qt Creator configurar el entorno para funcionar correctamente? Es bastante molesto tener que copiar todos los archivos a otro directorio con un script lanzador sólo para poder poner a prueba la construcción. En Windows funciona perfectamente - Qt Creator añade automáticamente los directorios que contienen los archivos DLL a la ruta de acceso cuando se ejecuta la aplicación (en la que se ejecuta desde el Explorador diría DLL no encontrado). Mac OS X es aún peor, tener que ejecutar install_name_tool sobre todo ...

Entonces, ¿cómo puedo configurar mis archivos QMake así que todo funciona bien desde el botón de ejecución en Qt Creator? Un poco difícil de depurar y sin esta capacidad, también.

¿Fue útil?

Solución

Sí, creador tiene una sección donde se puede establecer cualquier ambiente que necesita para ejecutar su aplicación.

En este creador 2.0.0 se accede por: Proyectos -> Objetivos -> (el objetivo) -> Ejecutar -> Ejecutar el Medio Ambiente (después de haber abierto su proyecto)

A continuación, puede añadir o eliminar cualquier variable de entorno que le gustaría, incluyendo LD_LIBRARY_PATH Una cosa que no estoy seguro es si es posible sustituir, por ejemplo, la trayectoria de la estructura en el valor de esas variables, de modo que usted no tiene que hardcode que en su LD_LIBRARY_PATH.

Otra opción sería añadir un pequeño script de shell para su árbol de fuentes, que establece lo variables que son necesarias, y añadir una configuración de ejecución "Custom ejecutable" para ejecutar ese script. Eso se accede a través de la misma pantalla.

Otros consejos

He tenido un problema similar correr aplicaciones qt con QtCreator en mi máquina Linux. He resuelto añadiendo las líneas siguientes al archivo .pro de la aplicación cliente:

unix:LIBS += -L/home/projects/my_libs/ -lmy_lib

unix:{
  QMAKE_LFLAGS += -Wl,--rpath=/home/projects/my_libs/
  QMAKE_LFLAGS_RPATH=
}

Info en rpath está aquí: rpath

Espero que esta ayuda, respecto

Sólo usando la siguiente:

unix:LIBS += -L/home/projects/my_libs/ -lmy_lib
unix:{
  QMAKE_LFLAGS += -Wl,--rpath=/home/projects/my_libs/
}

Se sloved mi problema también.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top