g++ --version
在我的家用机器上读取7.4.0
,但我经常在服务器上工作4.8.5
。他们的服务器不支持-std=c++11
编译器标志,但我的家用机器却支持。它支持的最新标志是-std=c++0x
.
但是,有时当我在我的家用机器上编写代码时,使用-std=c++0x
flag 编译没有错误,如果我将它带到服务器的本地计算机上,我会得到错误。有趣的是,通过 SSH 连接到他们的服务器并没有出现问题。
我不完全确定该怎么做,我想我的本地机器可能会忽略这个-std=c++0x
标志,因为我有一个更新的版本。有没有办法强制一个特定的版本?
如果有什么不同,我使用的是带有 LXSS(Ubuntu)的 Windows 10,而我连接的服务器使用的是 Redhat。
在 Ubuntu 中打开终端并输入:
此命令在 Ubuntu 中安装 g++ 版本 4.8.5,与您的服务器上安装的版本相同。
运行后
sudo update-alternatives --config g++
会出现 g++ 版本的菜单,并要求您选择默认的 g++ 版本,如下所示:从菜单中输入一个选择编号,然后按Enter。
要更改 gcc 的默认版本,请遵循相同的过程,除了将 g++ 的所有实例替换为 gcc 并将 g++ 的版本替换为 gcc 的版本。