让QMake生成正确的.app

时间:2020-03-05 18:43:02  来源:igfitidea点击:

我有一个大型的退出C ++项目,涉及:

  • 4个应用
  • 50多个图书馆
  • 20多个第三方库

该项目使用QMake(Trolltech Qt的一部分)在Linux上构建生产版本,但是我一直在MacOS上构建它。

我可以使用QMake在MacOS上进行构建,但无法生成最终的.app。它需要收集所有第三方框架和动态库,项目的所有动态库,并确保应用程序能够找到它们。

我已经在线阅读了有关使用install_name_tool的信息,但想知道是否存在使它自动化的过程。

(也许答案是使用XCode,请参阅相关问题,但在构建uic和moc时会出现问题)

谢谢

解决方案

回答

我相信这可能对我们有很大帮助:

部署

希望这可以帮助 !

回答

我通过在OS X上静态构建我的Qt应用程序完全避免了这个问题。但是,这对我们来说可能不切实际。

回答

我们在Last.fm遇到了同样的问题,我查看了DeployQt,如果我们拥有第三方库,它用处不大。最后,我编写了一个Perl脚本来生成Makefile,我们可以使用该脚本生成.app和/或者.dmg。

我在这里上传了它:http://www.methylblue.com/detritus/QMake.dmg/

要使用它,请将其添加到应用程序的pro文件中:

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   
}

我敢肯定它还不是便携式的,但是对其他人来说可以用,看看是否可以移植。

这基本上是该代码的第一个正式版本,因此,请向我发送错误报告以及改进。谢谢。