在OS X上部署Qt应用程序时出错

时间:2017-09-08 19:11:10

标签: c++ qt qwt macdeployqt

我正在尝试使用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"

我该如何解决?

1 个答案:

答案 0 :(得分:3)

我已使用brew listbrew remove qtbrew 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")))的问题,如下所述:Qt Creator - Project ERROR: Xcode not set up properly. You may need to confirm the license agreement by running /usr/bin/xcodebuild

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安装的一部分,重新​​安装它解决了我的问题。