建立qt项目时“没有这样的sysroot目录”

时间:2018-09-18 11:32:45

标签: xcode macos qt

MacOS Mojave 版本10.14(18A389)。

今天,我将Xcode更新为版本10.0(10A255)。当我尝试构建Qt项目时结束,出现错误:

clang: warning: no such sysroot directory: '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk' [-Wmissing-sysroot]
In file included from ../greed/timediagram.cpp:1:
In file included from ../../../Qt/5.9.1/clang_64/lib/QtGui.framework/Headers/QtGui:3:
In file included from /Users/arsenyspiridonov/Qt/5.9.1/clang_64/lib/QtGui.framework/Headers/QtGuiDepends:3:
In file included from /Users/arsenyspiridonov/Qt/5.9.1/clang_64/lib/QtCore.framework/Headers/QtCore:4:
In file included from ../../../Qt/5.9.1/clang_64/lib/QtCore.framework/Headers/qglobal.h:47:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/utility:202:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/cstring:61:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/string.h:61:15: fatal error: 'string.h' file not found
#include_next <string.h>
              ^~~~~~~~~~
1 error generated.
make: *** [timediagram.o] Error 1
16:13:47: Процесс «/usr/bin/make» завершился с кодом 2.
Ошибка при сборке/установке проекта greed (комплект: Desktop Qt 5.9.1 clang 64bit)
Во время выполнения этапа «Сборка»

出什么问题了?如何解决?

6 个答案:

答案 0 :(得分:5)

在您的.pro文件中添加“ QMAKE_MAC_SDK = macosx10.14”,然后从一个或多个构建目录中手动删除.qmake.stash。

答案 1 :(得分:1)

在我的情况下,我将xcode更新为最新版本,所以我没有MacOSX10.14.sdk版本(即指向文件夹MacOSX.sdk的符号链接),而不是版本10.13。

因此,您可以在终端上使用以下代码解决问题:

sudo ln -s MacOSX.sdk/ MacOSX10.13.sdk

位于当前文件夹上。

希望对您有帮助。

答案 2 :(得分:0)

我刚刚重新安装了Qt。现在一切都好

答案 3 :(得分:0)

这对我有帮助:

  1. 在Qt Creator中关闭项目。
  2. 删除您的 code 目录中的.pro.user文件。
  3. 在文本编辑器(不是Qt Creator中)中将QMAKE_MAC_SDK = macosx10.14QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.14添加到您的.pro文件中。将10.14替换为要构建的任何MacOS版本。
  4. 在Qt Creator中重新打开项目。它将重新配置。
  5. 构建。

答案 4 :(得分:0)

添加到 sellen 的答案:如果您在定位 .qmake.stash 文件时遇到问题,或者如果您的构建文件夹中没有 .qmake.stash 文件,请尝试使用终端来定位它:

find /path/to/base/folder -name ".qmake.stash"

就我而言,我的 build parent 文件夹中有一个 .qmake.stash 文件,但我的 build 文件夹中没有。不知道它是如何到达那里的,但不知何故 QMake 捡到了它,一旦我删除它并重新启动 Qt Creator,一切又开始工作了。

答案 5 :(得分:-1)

这最近发生在我身上,我的Xcode需要更新。因此,我建议退出xcode并尝试更新您的当前版本,看看是否可以解决您的问题。