Qt Creator Release Build 意外退出

Qt Creator Release Build Quit Unexpectedly

在使用 Qt Creator 编译应用程序的任何版本(调试和发布)后,它仅在 Qt Creator 下使用选项 运行s:“将构建库搜索路径添加到 DYLD_LIBRARY_PATH 和DYLD_FRAMEWORK_PATH".

我尝试编译并使用 macdeployqt 来创建 dmg。应用程序启动后崩溃:“意外退出”,因为找不到库:

otool 结果:

应用 Contents/Frameworks 在 macdeployqt 之后:

编译后如何在Qt上部署应用运行?如何设置rpath?

我找到了解决方案,macdeployqt 没有将所有需要的库和一些文件复制到 App,需要手动复制到:

Plugins

  1. cp -r $QT_MACOS_PATH/Plugins/ 到 App/Contents/Plugins/

Resources/qml

  1. mkdir App/Contents/Resources/qml
  2. cp -r $QT_MACOS_PATH/qml/ 到 App/Contents/Resources/qml/

Frameworks

  1. cp -r $QT_MACOS_PATH/lib/*.framework 到 App/Contents/Frameworks

然后您可以将 macdeployqt 用于您的应用程序(可选):

  1. macdeployqt *.app

现在您可以运行您的应用程序了。您可以在 App/Contents/Resources/qt.conf 中使用安装程序设置 Qt 的分发路径,而不是全部复制它们。

当然最好不要这样做,否则应用的体积会很大。这仅适用于测试多边形。对于分发,创建一个安装程序。