c++ - 在 g++ 中更改默认的 C++ 标准

标签 c++ linux c++11 g++

为了以 C++11 标准编译程序,我们需要做:

 g++ -std=c++11 myProgram.cpp -o myProgramExec

但是我是否可以将 g++ 的默认标准设置为 C++11,这样我就不必一次又一次地提及这个选项虽然我也可以在我的 .bashrc 中为此添加一个别名:

alias g++='g++ -std=c++11';

但我想知道是否有比这更好的方法。是否有任何可以编辑的 g++ 配置文件以实现此目的?或者有更简单的方法吗?

最佳答案

经过一些研究(您自己可能已经做过),除了重建自定义版本或为其设置别名之外,我还没有找到更改 g++ 的默认行为的方法。


为什么这可能是一件好事:

重要的是 g++ 的每个版本都有一个单一的、定义良好的默认行为。考虑一下:如果您更改 g++ 的默认行为并尝试编译一个作者不知道您的配置的 C++ 项目,该项目可能无法编译或编译时出现细微错误/意外行为。

在您自己的项目中,您可以轻松地将所有相关标志和选项添加到您的 MakefileCMakeLists.txt 中,这样您就无需再次键入它们.这还将确保编译您的项目的其他人将收到正确的选项,无论他们的配置如何。

关于c++ - 在 g++ 中更改默认的 C++ 标准,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41648978/

相关文章:

c++ - clang 和 gcc 中是否有 Visual C++ __declspec (属性声明属性)的替代方案?

linux - 在 linux 中使用 32 位 64 位机器进行编程

linux - Linux 上不同元素之间输出的 Grepping 日志

c++ - 创建一个返回 std::mem_fn 或 boost::mem_fn 的通用包装器

c++ - Lambda 作为模板函数

c++ - 如何从模板参数包中删除类型?

c++ - 用 boost::geometry 扩展多边形?

c++ - 如何编写工厂函数来初始化 C++ 中的 constexpr 引用?

C++ 内联模板策略函数

python - 使用 Python 在 Pi 启动时写入 MySQL 数据库