在 OS X 上部署 Qt 应用程序时出错
Error deploying Qt application on OS X
我正在尝试使用 macdeployqt
在 OS X 上部署 Qt 应用程序:
macdeployqt MyApplication.app -dmg
该应用程序使用 Qwt 库,它被包含在 PRO 文件中,如下所示:
macx: QWT_ROOT = /usr/local/qwt-6.1.0
include ( $${QWT_ROOT}/features/qwt.prf )
当我 运行 macdeployqt
命令时,我收到以下错误消息:
ERROR: no file at "/Library/Frameworks/qwt.framework/Versions/6/qwt.framework/Versions/6/qwt"
我不确定,但似乎部署步骤在错误的路径上寻找 Qwt 库,例如:
"/Library/Frameworks/qwt.framework/Versions/6/qwt.framework/Versions/6/qwt"
什么时候应该是:
"/Library/Frameworks/qwt.framework/Versions/6/qwt"
我该如何解决?
我已经使用 brew list
、brew remove qt
和 brew remove qt5
卸载了其他 qt 版本。我还注意到我安装了 pyqt(但我没有使用它),所以我也使用 brew remove pyqt
删除了它。
然后,我重装了Qt 5.3.2,还有其他问题:
Project ERROR: Xcode not set up properly. You may need to confirm the license agreement by running /usr/bin/xcodebuild.
解决了将 isEmpty($$list($$system("/usr/bin/xcrun -find xcrun 2>/dev/null")))
命令从 Qt_install_folder/5.7/clang_64/mkspecs/features/mac/default_pre.prf
文件更改为 isEmpty($$list($$system("/usr/bin/xcrun -find xcodebuild 2>/dev/null")))
,如此处解释:
和
Could not resolve SDK path for 'macosx10.8'
通过将 QtPath/5.3/clang_64/mkspecs/qdevice.pri
从 !host_build:QMAKE_MAC_SDK = macosx10.8
更改为 !host_build:QMAKE_MAC_SDK = macosx10.12
解决了这个问题,如此处解释:Error: Could not resolve SDK path for 'macosx10.8'
所以,我 运行 来自 Qt 目录的命令:
/Users/kuser/Qt5.3.2/5.3/clang_64/bin/macdeployqt MyApplication.app -dmg
它奏效了。
我在以下问题的评论中找到了这些解决方案:
Qt5 cannot find platform plugins Mac OS X
注意:这并不能直接解决macdeployqt
错误,但由于它是Qt安装的一部分,所以重新安装它解决了我的问题。
我正在尝试使用 macdeployqt
在 OS X 上部署 Qt 应用程序:
macdeployqt MyApplication.app -dmg
该应用程序使用 Qwt 库,它被包含在 PRO 文件中,如下所示:
macx: QWT_ROOT = /usr/local/qwt-6.1.0
include ( $${QWT_ROOT}/features/qwt.prf )
当我 运行 macdeployqt
命令时,我收到以下错误消息:
ERROR: no file at "/Library/Frameworks/qwt.framework/Versions/6/qwt.framework/Versions/6/qwt"
我不确定,但似乎部署步骤在错误的路径上寻找 Qwt 库,例如:
"/Library/Frameworks/qwt.framework/Versions/6/qwt.framework/Versions/6/qwt"
什么时候应该是:
"/Library/Frameworks/qwt.framework/Versions/6/qwt"
我该如何解决?
我已经使用 brew list
、brew remove qt
和 brew remove qt5
卸载了其他 qt 版本。我还注意到我安装了 pyqt(但我没有使用它),所以我也使用 brew remove pyqt
删除了它。
然后,我重装了Qt 5.3.2,还有其他问题:
Project ERROR: Xcode not set up properly. You may need to confirm the license agreement by running /usr/bin/xcodebuild.
解决了将 isEmpty($$list($$system("/usr/bin/xcrun -find xcrun 2>/dev/null")))
命令从 Qt_install_folder/5.7/clang_64/mkspecs/features/mac/default_pre.prf
文件更改为 isEmpty($$list($$system("/usr/bin/xcrun -find xcodebuild 2>/dev/null")))
,如此处解释:
和
Could not resolve SDK path for 'macosx10.8'
通过将 QtPath/5.3/clang_64/mkspecs/qdevice.pri
从 !host_build:QMAKE_MAC_SDK = macosx10.8
更改为 !host_build:QMAKE_MAC_SDK = macosx10.12
解决了这个问题,如此处解释:Error: Could not resolve SDK path for 'macosx10.8'
所以,我 运行 来自 Qt 目录的命令:
/Users/kuser/Qt5.3.2/5.3/clang_64/bin/macdeployqt MyApplication.app -dmg
它奏效了。
我在以下问题的评论中找到了这些解决方案:
Qt5 cannot find platform plugins Mac OS X
注意:这并不能直接解决macdeployqt
错误,但由于它是Qt安装的一部分,所以重新安装它解决了我的问题。