Xcode 11.1:找不到 iostream 文件

abo*_*sem 10 c++ xcode iostream clang++ macos-catalina

我刚刚将我的MacBook Pro更新到macOS Catalina 10.15,并尝试编译和运行C++ 命令行程序,但我遇到了以前版本不存在的问题;

这是简单的代码:

#include <iostream>
using namespace std;

int main()
{
    cout << "Hello, World!\n";
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

代码编译并输出预期,但 Xcode 仍然说:

fatal error: 'iostream' file not found
Run Code Online (Sandbox Code Playgroud)

我尝试将Build Settings/C++ Standard Library更改为libstdc++,但警告说:

warning: include path for stdlibc++ headers not found; pass '-stdlib=libc++' on the command line to use the libc++ standard library instead
Run Code Online (Sandbox Code Playgroud)

并且仍然存在相同的 iostream 错误。

den*_*pro 0

libstdc++对于 Xcode 构建和编译时间来说不合适,

libstdc++适用于 iPhone 运行时


来自@Alan Birtles 推荐的答案

libstdc++支持已从 iOS 12.0 模拟器运行时中删除,但它仍保留在 iOS 12.0(设备)运行时中,以实现与发布应用程序的二进制兼容性。


我在.hpp文件中声明时遇到了这个。

#include <iostream>
#include <string>
Run Code Online (Sandbox Code Playgroud)

好的

#ifdef __cplusplus

#include <iostream>
#include <string>

// usage code
#endif
Run Code Online (Sandbox Code Playgroud)