作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
当我执行
g++ main.cpp
我得到输出
main.cpp:9:17: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]
main.cpp:10:15: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]
main.cpp:11:16: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]
main.cpp:12:14: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]
main.cpp:13:13: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]
现在如果我跑
g++ -std=c++11 main.cpp
警告消失了,但我不想明确指定已经启用的内容。我犹豫要不要做一个简单的 bash 别名,因为如果我没记错的话,gcc 已经是某种别名了。无论如何这样做是安全的还是有正确的方法在配置文件或其他东西中解决这个问题?我在带有默认存储库的 Ubuntu 12.10 x64 上运行。
最佳答案
“我不想明确指定已经启用的东西”——实际上这几乎可以肯定是能量消耗最少的方法。将会有许多其他可能性,从通过 grep -v
管道输出到重新编码和重新编译编译器工具链,但它们很可能都比仅将该标志添加到命令行更难。
而且,如果您担心多余的字符和可能的别名冲突,您可以随时调用您的别名 g11
或类似的名称。然后你所需要记住的就是使用正确的名字,但是任何有脊柱的生物体都应该足够先进来处理这个问题:-)
关于c++ - 如何在 ubuntu 12.10 中隐藏 g++ c++11 编译警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13674241/
我是一名优秀的程序员,十分优秀!