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
- cp -r $QT_MACOS_PATH/Plugins/ 到 App/Contents/Plugins/
Resources/qml
- mkdir App/Contents/Resources/qml
- cp -r $QT_MACOS_PATH/qml/ 到 App/Contents/Resources/qml/
Frameworks
- cp -r $QT_MACOS_PATH/lib/*.framework 到 App/Contents/Frameworks
然后您可以将 macdeployqt 用于您的应用程序(可选):
- macdeployqt *.app
现在您可以运行您的应用程序了。您可以在 App/Contents/Resources/qt.conf 中使用安装程序设置 Qt 的分发路径,而不是全部复制它们。
当然最好不要这样做,否则应用的体积会很大。这仅适用于测试多边形。对于分发,创建一个安装程序。
在使用 Qt Creator 编译应用程序的任何版本(调试和发布)后,它仅在 Qt Creator 下使用选项 运行s:“将构建库搜索路径添加到 DYLD_LIBRARY_PATH 和DYLD_FRAMEWORK_PATH".
我尝试编译并使用 macdeployqt 来创建 dmg。应用程序启动后崩溃:“意外退出”,因为找不到库:
otool 结果:
应用 Contents/Frameworks 在 macdeployqt 之后:
编译后如何在Qt上部署应用运行?如何设置rpath?
我找到了解决方案,macdeployqt 没有将所有需要的库和一些文件复制到 App,需要手动复制到:
Plugins
- cp -r $QT_MACOS_PATH/Plugins/ 到 App/Contents/Plugins/
Resources/qml
- mkdir App/Contents/Resources/qml
- cp -r $QT_MACOS_PATH/qml/ 到 App/Contents/Resources/qml/
Frameworks
- cp -r $QT_MACOS_PATH/lib/*.framework 到 App/Contents/Frameworks
然后您可以将 macdeployqt 用于您的应用程序(可选):
- macdeployqt *.app
现在您可以运行您的应用程序了。您可以在 App/Contents/Resources/qt.conf 中使用安装程序设置 Qt 的分发路径,而不是全部复制它们。
当然最好不要这样做,否则应用的体积会很大。这仅适用于测试多边形。对于分发,创建一个安装程序。