使用 Qt Creator 編譯應用程式的任何版本(除錯和發布)后,它只能從 Qt Creator 下運行,選項為:“將構建庫搜索路徑添加到 DYLD_LIBRARY_PATH 和 DYLD_FRAMEWORK_PATH”。
我嘗試編譯并使用 macdeployqt 來創建 dmg。啟動崩潰后的應用程式:“意外退出”,因為找不到庫:
otool 結果:
macdeployqt 之后的應用程式內容/框架:
如何在 Qt 上部署應用程式并在編譯后運行?rpath怎么設定?
uj5u.com熱心網友回復:
我找到了解決方案,macdeployqt 沒有將所有需要的庫和一些檔案復制到 App,需要手動復制到:
插件
- cp -r $QT_MACOS_PATH/Plugins/ 到 App/Contents/Plugins/
資源/qml
- mkdir 應用程式/內容/資源/qml
- cp -r $QT_MACOS_PATH/qml/ 到 App/Contents/Resources/qml/
構架
- cp -r $QT_MACOS_PATH/lib/*.framework 到 App/Contents/Frameworks
然后您可以將 macdeployqt 用于您的應用程式(可選):
- macdeployqt *.app
現在您可以運行您的應用程式了。您可以使用安裝程式設定 Qt 的路徑,以便在 App/Contents/Resources/qt.conf 中分發,而不是全部復制。
當然,最好不要這樣做,否則應用程式的大小會非常大。這僅適用于測驗 poligon。對于分發,請創建一個安裝程式。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/470505.html
標籤:C 苹果系统 qt-创作者 qt6 macdeployqt