Pregunta

Tengo un gran proyecto de C++ existente que involucra:

  • 4 aplicaciones
  • Más de 50 bibliotecas
  • Más de 20 bibliotecas de terceros

El proyecto utiliza QMake (parte de Qt de Trolltech) para construir la versión de producción en Linux, pero he estado jugando para construirlo en MacOS.

Puedo integrarlo en MacOS usando QMake sin problemas, pero tengo problemas para producir la aplicación final.Es necesario recopilar todos los marcos y bibliotecas dinámicas de terceros, todas las bibliotecas dinámicas del proyecto y asegurarse de que la aplicación las encuentre.

Leí en línea sobre el uso de install_name_tool pero me preguntaba si existe un proceso para automatizarlo.

(Tal vez la respuesta sea usar XCode, consulte la pregunta relacionada, pero tendría problemas con la creación de uic y moc)

Gracias

¿Fue útil?

Solución

Estoy seguro de que esto podría serte de gran ayuda:

desplegarqt

Espero que esto ayude !

Otros consejos

Tenemos el mismo problema en Last.fm, miré DeployQt y no sirve de mucho si tienes bibliotecas de terceros.Al final escribí un script en Perl que genera un Makefile, que puedes usar para generar un .app y/o .dmg.

Lo subí aquí: http://www.methylblue.com/detritus/QMake.dmg/

Para usarlo, agregue esto al archivo profesional de su aplicación:

 macx*:!macx-xcode:release {
     system( QT=\'$$QT\' QMAKE_LIBDIR_QT=\'$$QMAKE_LIBDIR_QT\' $$ROOT_DIR/common/dist/mac/Makefile.dmg.pl $$DESTDIR $$VERSION $$LIBS > Makefile.dmg )
     QMAKE_EXTRA_INCLUDES += Makefile.dmg   
}

Estoy seguro de que todavía no es portátil, pero sería bueno que alguien más lo usara y viera si es así.

Esta es básicamente la primera versión oficial de este código, así que envíenme informes de errores y también mejoras.Gracias.

Evité este problema por completo al crear mi aplicación Qt estáticamente en OS X.Sin embargo, puede que eso no le resulte práctico.

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