如何使g++使用c++ 11标准永久编译?
How do I make g++ permanently compile using the C++11 standard?
我使用的是g++ 4.8.1,除非我明确声明-std=c++11
,否则它总是使用'98标准编译c++代码。如何永久设置国旗?
编辑:另外,我用的是Windows。和命令提示符
g++是通过spec文件配置的。
你可以谷歌一下,然后编辑。
通过其规范文件配置基本编译器的替代方案包括
-
批处理文件来调用它
-
控制台别名调用它(使用
doskey
命令) -
只使用Nuwen发行版,已经为c++ 11配置了
将以下行保存在批处理文件中,然后调用它,将通常传递给g++的参数传递给批处理文件。
g++ -std=c++11 %*
这是我能找到的唯一参考%*
%*修饰符是唯一的修饰符,表示批处理文件中传递的所有参数。
您可以为您使用的任何shell创建别名。通常,别名必须存储在启动脚本中,以使其成为永久性的。
bash:
alias g++='g++ -std=c++11'
对于windows的cmd.exe:
doskey g++=g++ -std=c++11 $*
当你在它,-Wall
和-pedantic
也是有用的默认设置。查一查!
相关文章:
- 编译标准库类型
- 标准是否严格定义了该程序应该如何编译?
- 使用宏编译时使用用户定义的数学函数,或者仅使用 c++ 中标准数学库中的函数
- 在C++标准中做格式好意味着代码可以编译
- 编译器现在遵循C++14标准,我的项目不再编译神秘的SFML错误
- 没有 Emscripten,如何使用标准库编译C++到 WebAssembly
- CMake 不编译具有非标准扩展名的文件
- C++标准视窗 SDK 文件中的编译错误
- 用STD = C 11或其他标准编译Boost,例如Ash C 14
- 如何为可视化标准预编译 SCIP
- 一种安全、符合标准的方法,使类模板专用化仅在实例化时才无法使用"static_assert"进行编译
- C++ constexpr:在编译时计算标准数组
- 在编译指示包中包含标准地图会导致崩溃
- 标准C++无法在Qt Creator中编译
- 是在同一体系结构上运行的静态编译的纯标准C 程序可移植
- 用C 11共享库编译共享库(旧标准)
- C++14/17 项目可以使用使用 C++11 标准编译的二进制库还是需要重新编译源代码
- 为什么为我的对象类编译标准优先级队列失败
- 我包含<cmath>但无法编译标准::abs(double)
- 如何使用GNU g++只编译标准C++