为了账号安全,请及时绑定邮箱和手机立即绑定

用g+编译C+11

用g+编译C+11

C++
aluckdog 2019-07-22 10:37:50
用g+编译C+11我正在尝试将我的C+编译器更新为C+11。-std=c++0x或-std=gnu++0x但我对旗子不太了解。有谁可以帮我?(我使用的是Ubuntu12.04。)下面是我试图使用C+11(即数组)中包含的库时从编译器获得的错误:#include <array>#include <iostream>int main(){     std::array<int, 3> arr = {2, 3, 5};     ...}该文件需要编译器和库支持即将到来的ISO C+标准,C+0x。这种支持目前是实验性的,必须使用-std=c+0x或-std=gnu+0x编译器选项启用。
查看完整描述

3 回答

?
Smart猫小萌

TA贡献1911条经验 获得超7个赞

标志(或编译器选项)只不过是传递给编译器可执行文件的普通命令行参数。

假设从命令行(终端)调用g+:

$ g++ -std=c++11 your_file.cpp -o your_program

$ g++ -std=c++0x your_file.cpp -o your_program

如果上面的方法不起作用的话。


查看完整回答
反对 回复 2019-07-22
?
ABOUTYOU

TA贡献1812条经验 获得超5个赞

你可以检查你的g++命令:

which g++g++ --version

这将告诉你,哪个编辑目前是它的指向。

切换到g++4.7(假设您已将其安装在计算机中),运行:

sudo update-alternatives --config gccThere are 2 choices for the alternative gcc (providing /usr/bin/gcc).

  Selection    Path              Priority   Status------------------------------------------------------------
  0            /usr/bin/gcc-4.6   60        auto mode  1            /usr/bin/gcc-4.6   60        manual mode* 2            /usr/bin/gcc-4.7   40        manual mode

然后选择2作为选择(我的机器已经指向g++4.7,所以*)

一旦你切换了编译器,然后再运行g++ --version以检查切换是否正确。

现在用

g++ -std=c++11 your_file.cpp -o main


查看完整回答
反对 回复 2019-07-22
  • 3 回答
  • 0 关注
  • 682 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信