运行macdeployqt

时间:2016-10-13 17:29:17

标签: xcode qt qml otool macdeployqt

为了在另一台Mac上运行我的Qt应用,我的.pro文件中有以下两行

MACDEPLOY = `echo $$QMAKE_QMAKE | sed 's/qmake/macdeployqt/g'` 
QMAKE_POST_LINK = $$MACDEPLOY $$OUT_PWD/$$TARGET\.app -qmldir=$$PWD -verbose=3

这适用于简单的HelloWorld应用程序。 它曾经适用于我的“真实”应用程序,但现在我收到以下错误(我的应用程序在没有这两行的本地Mac上正常工作)

/Users/marc/Qt5.7/5.7/clang_64/bin/macdeployqt /Users/marc/workspaceZ2/build/build-Z2Nexx40-Desktop_Qt_5_7_0_clang_64bit-Release/Z2Nexx40\.app -qmldir=/Users/marc/workspaceZ2/Z2Nexx40 -verbose=3
ERROR: Could not find bundle binary for "/Users/marc/workspaceZ2/build/build-Z2Nexx40-Desktop_Qt_5_7_0_clang_64bit-Release/Z2Nexx40.app" 
ERROR: "error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/otool: can't open file:  (No such file or directory)\n" 
Log: Using otool: 
Log:  inspecting "" 
ERROR: "error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/otool: can't open file:  (No such file or directory)\n" make: *** [Z2Nexx40.app/Contents/MacOS/Z2Nexx40] 
Segmentation fault: 11 make:

在弹出的问题报告窗口中,我看到(不确定我是否选择了相关部分)

Binary Images:
       0x10da98000 -        0x10dac4fff +macdeployqt (0) <46011DBB-126C-35A0-942A-ACD79B0BCC45> /Users/USER/*/macdeployqt
       0x10dace000 -        0x10df2eff7 +org.qt-project.QtGui (5.7 - 5.7.0) <A41CBDE5-2955-3A57-BAE9-69001B210588> /Users/USER/*/QtGui.framework/Versions/5/QtGui
       0x10e081000 -        0x10e595ff7 +org.qt-project.QtCore (5.7 - 5.7.0) <5F2F454C-CEE8-3E59-A3B7-94F51F5B9F96> /Users/USER/*/QtCore.framework/Versions/5/QtCore
       0x10e6b2000 -        0x10e6b6fff  com.apple.agl (3.3.1 - AGL-3.3.1) <4E401980-0F4F-33E2-A0CF-8C7CCF375F24> /System/Library/Frameworks/AGL.framework/Versions/A/AGL
    0x7fff64f70000 -     0x7fff64fa7a47  dyld (360.22) <DC81CC9D-651A-3A45-8809-928282052BD3> /usr/lib/dyld

任何想法在这里可能有什么问题?我最近升级到XCode 8(并再次降级到7.3),从Qt5.6升级到5.7但我不知道如何继续。

我可以尝试的提示最有帮助!

1 个答案:

答案 0 :(得分:0)

显然,原因是错误/不兼容的plist文件。 我必须在plist文件中添加一个键,因此我的代码树中有自己的plist文件。

升级XCode,我的操作系统或Qt后,这个plist文件可能不再兼容了。

我删除了自己的plist文件,重建并将我的密钥添加到新生成的plist文件中,所有内容都像以前一样正常。