gpt4 book ai didi

c++ - 用c++17 mac编译

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:26:39 26 4
gpt4 key购买 nike

我无法使用 -std=c++17 进行编译,我得到了:

error: invalid value 'c++17' in '-std=c++17'

但是我更新了 Xcode 和 clang。

我的 Clang 版本是:

Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 9.0.0 (clang-900.0.39.2)
Target: x86_64-apple-darwin16.7.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin`

然后我加载最新的 header ,就像可选的一样,我必须这样做

 #include <experimental/optional>

代替

 #include <optional>

最佳答案

Xcode 自带完整的工具链,包括 header 和实际的编译器。

Apple LLVM version 9.0.0 (clang-900.0.39.2) (Xcode 9.2 附带)不支持使用标志 -std=c++17因为它太旧了。可选 header 仅包含在文件夹 experimental/ 下.这就是为什么你需要 #include <experimental/optional>

为了使用 Xcode 9.2 附带的编译器编译支持 c++17 的程序,您需要使用 -std=c++1z旗帜。

Xcode 9.3 将附带 Apple LLVM version 9.1.0 (clang-902.0.30)它支持 -std=c++17旗帜。然而 optional截至今天,标题仍在 experimental/ 下子目录。这可能会在测试期间发生变化。

关于c++ - 用c++17 mac编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48445191/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com