我使用CMake在Mac(Mavericks)上构建我的Qt应用程序。它在构建目录中创建一个名为SquiggleMark.app的包文件。
接下来我运行一个脚本,将库复制到包中,只需要Qt框架和libqcocoa.dylib文件。
最后,我使用iDMG创建dmg文件。
现在,如果我挂载此dmg文件并从挂载运行我的应用程序,它运行正常。但是,如果我将dmg移动到/ Applications并从Finder>运行它应用程序需要很长时间,几分钟才能启动。
我该如何调试?
我怀疑在Finder中查找库需要花费太长时间,但我不确定。
当我从终端运行应用程序时,通过键入“/ Applications / SquiggleMark / Contents / MacOS / SquiggleMark”,它也可以正常工作。
The dmg is here你可以尝试一下,告诉我你是否看到了和我一样长的加载时间。
我的捆绑脚本包含以下命令:
install_name_tool -id @executable_path /../ Frameworks / QtWidgets $ BUNDLE / Contents / Frameworks / QtWidgets
install_name_tool -change $ QTDIR / clang_64 / lib / QtWidgets.framework / Versions / 5 / QtWidgets @executable_path /../ Frameworks / QtWidgets $ BUNDLE / Contents / MacOS / $ APP
我没有发布整个脚本,因为它太长了,但是如果有人想要它,我可以把它放在这里。