g++ - 如何默认使用 -std=c++14 ?

g++ - 如何默认使用 -std=c++14 ?

我希望 g++ 默认使用 -std=c++14 ,而不必每次都键入它。我该怎么做?

答案1

放:

alias g++='g++ -std=c++14'

在您的个人资料中(或者可能.bashrc)。下次您登录(或使用 启动新终端.bashrc)时,该命令g++将运行g++ -std=c++14

仅对于单个终端实例,只需在命令行中键入即可。这在大多数情况下都有效,但如果您遇到问题,请尝试以下操作。


如果您有引用g++二进制文件的文字路径(例如/usr/bin/g++)的脚本或程序,则可以将g++二进制文件移动到新文件名,例如,并在同一目录中g++-bin编写这样命名的脚本:g++

#! /bin/sh
/usr/bin/g++-bin -std=c++14 "$@"

这将具有与别名相同的最终结果($@将父脚本的所有参数传递给g++二进制文件),但会使脚本在引用编译器的完整路径时使用。

chmod 755如果使用此方法,请确保使脚本可执行(或类似)。

另请注意,如果您将脚本放入/usr/bin(或您的发行版的等效文件)中,则当 g++ 更新时,您的包管理器将覆盖您的 g++ 脚本,因此您可能希望将脚本放入变量中优先级更高的不同目录中PATH

我个人在我的主目录 ( ~/bin) 中专门为这种事情创建了一个目录,并在变量的开头添加了~/.profile和行:~/.bashrc$HOME/binPATH

PATH="$HOME""/bin:""$PATH"
export PATH

答案2

根据GCC 页面中的 C++ 标准支持,C++14 是 GCC 6.1 及更高版本的默认版本:

该模式在GCC 6.1及以上版本中是默认的;可以使用-std=c++14命令行标志显式选择它,或者-std=gnu++14也可以启用 GNU 扩展。

在当前的发行版中,您不需要执行任何操作。 (GCC 6.1 于 2016 年 4 月下旬发布。)

相关内容