每次需要编译C ++程序时,是否都需要键入-std = c ++ 17(或我要使用的任何标准)?

0 c++ cmd compilation

我拥有Windows 10操作系统,使用VS Code编写我的C ++代码,并使用CMD编译我的程序。我真的不知道PC中的编译器(MinGW,gcc版本6.3.0)使用哪种标准,但是我只想忍受它使用最新的标准(例如C ++ 14或17)。不幸的是,我需要输入在-std=c++17我每次需要使用标准的编译我的程序。如何将所需的标准设置为默认值?

Max*_*hof 5

不幸的是,我每次编译时都需要输入-std = c ++ 17

这就是存在构建脚本的原因。您有时需要将许多参数传递给编译器:

  • 源文件(您可能有多个翻译单元= .cpp文件)
  • 包含目录
  • 图书馆链接
  • 优化级别
  • 警告事项
  • C ++标准
  • 符号定义
  • ...还有更多的编译器标志...

在较大的项目中,您可能还会有多个构建目标(以及编译器调用),并且您也不想每次都手动完成所有这些工作。

作为一个简单的解决方案,您可以编写一个.bat脚本,该脚本使用适合您的参数调用编译器。但是,有一些工具在此方面做得更好,例如make(通常仅在Linux世界中找到)或MSBuild(Visual Studio的一部分)。然后还有一些工具可以为您生成这些脚本,例如CMake和具有自己项目配置文件的多个IDE。