Xcode 12 - 构建 .m 文件时出错,因为“无法构建模块‘std’”

问题描述 投票:0回答:1

我面临一个几天无法解决的问题。

我想在我的 .m 文件中包含一些 VTK 标头,该标头可以工作到我包含的文件中的一些进一步链接的 VTK 标头尝试执行的操作:

#include <fstream>

发生错误

找不到“fstream”文件

经过一番谷歌搜索后,我找到了将以下内容添加到我的“标题搜索路径”中的解决方案: “/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/”

现在似乎找到了文件,但出现了一些新错误。

无法构建模块“std”

未知类型名“命名空间”

未知类型名称“_LIBCPP_BEGIN_NAMESPACE_STD”

未知类型名称“_LIBCPP_END_NAMESPACE_STD”

预期的“;”在顶级声明符之后

等等

这些发生在 __nullptr、cstddef、type_traits 中。

我还尝试将“C++ 标准库”从“编译器默认值”更改为“libc++”或“libstdc++”,但没有任何效果。

有人知道如何解决这个问题吗?

附加信息:

  • macOS 大苏尔 11.2.3
  • Xcode 12.4
  • arm64架构
c++ xcode vtk
1个回答
0
投票

如前所述,将文件类型从 Objective-C(

.m
扩展名)更改为 Objective-C++(
.mm
扩展名)解决了该问题。

© www.soinside.com 2019 - 2024. All rights reserved.