【发布时间】:2013-04-10 16:43:56
【问题描述】:
几年后我又开始使用 Qt (5.0.1)。
我在使用 QMAKE_BUNDLE_DATA 在我的 OSX 应用程序包中分发 dylib 和插件时遇到了一些麻烦。
我的应用程序 .pro 文件的相关部分如下所示:
macx {
dylibs.path = $$DESTDIR_TARGET/Contents/Frameworks
dylibs.files = $$DESTDIR/../lib/*
QMAKE_BUNDLE_DATA += dylibs
plugins.path = $$DESTDIR_TARGET/Contents/Plugins
plugins.files = $$DESTDIR/../plugins/*
QMAKE_BUNDLE_DATA += plugins
}
INSTALLS += target
我已验证 $$DESTDIR 指向正确的位置,并且该目录中存在文件。我对 Makefile 不是很好,但据我了解,qmake 生成的目标如下:
../../../build/apps/MyApp.app/Contents/Frameworks/*:
这些目标没有在 all 目标中引用。任何想法我做错了什么?
【问题讨论】:
-
你研究过 macdeployqt 吗?它应该会自动生成带有必要 dylib 的应用程序包。我没有广泛使用 Qt 5.x,但是这个链接应该是类似的:stackoverflow.com/questions/2809930/…
-
是的,但它所做的一切都是复制正确的 Qt 框架。它不处理我自己的库/框架。我想要的是 qmake;make;生成完整的应用程序包。
-
如果您手动将 dylibs/frameworks 复制到应用程序包中,该应用程序是否可以在非开发机器上运行?
-
是的……我只是想自动化这个过程。