如何在代码块中启用c ++ 17支持

时间:2017-09-02 17:57:00

标签: c++ codeblocks c++17

代码块中的

构建或编译器选项中没有C ++ 17选项,只有C ++ 14 如何在代码块中启用它,以便编码工具和编译器都支持它?

1 个答案:

答案 0 :(得分:6)

Code::Blocks 不是一个编译器(但有些荣耀source code editor,有时称自己为IDE,它运行一些外部编译器。

你需要一个 C ++ 17 编译器 (一旦你有一个,你可以配置你的IDE或编辑器使用适当的< / em>选项)。试试GCC的最新版本(至少GCC 7,也许等待GCC 8)或Clang(等待Clang5)和pass it -std=c++17选项

请注意,C++17是将于2017年底发布的C ++标准。您可能需要等待一段时间(可能是一年或两年)才能使编译器和标准库实现正确并完全实现它

因此,我不推荐在即将发布的项目中使用C ++ 17功能(2017年底),因为您正在建立β质量基础。但是,如果您在2019年发布的大型项目上工作,您可能会冒这样的风险,即您在其中使用的C ++ 17功能将在那时成熟。

关于标准库函数(例如std::filesystem),您可以轻松找到近似等价物(例如,在本机操作系统或POSIX API中,在Boost中,在Qt中,在POCO中,......),这应该相当容易一旦C ++ 17实现很常见就移植到端口。

(我建议在命令行上使用您的编译器,或使用makeninja或其他build automation系统运行的编译器命令;详细信息可以是操作系统和特定于编译器。)