• 6148阅读
  • 3回复

[原创]Ubuntu 12.04如何让Qt5.0完全支持C++11 [复制链接]

上一主题 下一主题
离线jeffreylee
 

只看楼主 倒序阅读 楼主  发表于: 2012-12-28

   正在阅读《C++ Primer 5th edition》,这是为C++11标准完全重新编写的最新版本的C++ Primer,电子书下载地址:http://download.csdn.net/detail/vipjeffreylee/4908453  ,在Ubuntu 12.04中安装Qt5当作学习环境,编译书中的例程。
编译如下语句遇到问题
   struct Sales_data{
    string bookNo;
    unsigned units_sold=0;
    double revene=0.0;
};
我们知道C++11标准开始支持类内初始化(in-class initializer),Qtcreator编译出现error,不支持这个特性,原因在于,Ubuntu12.04默认的是使用gcc4.6,而只有gcc4.7才支持C++11,使用如下办法升级Ubuntu 12.04下的gcc
  1. sudo add-apt-repository ppa:ubuntu-toolchain-r/test  
  2. sudo apt-get update  
  3. sudo apt-get install gcc-4.7  
  4. sudo apt-get install g++-4.7  
    升级完成使用gcc --version 显示版本依然是4.6.3,并没有把4.7版设置为默认
Qt编译时调用的/usr/bin/g++ 是个链接文件,把这个文件删除,建立链接到g++-4.7
cd /usr/bin
sudo rm g++
sudo ln -s g++-4.7 g++
现在编译并执行例程,ok!编译通过了!
离线qujunde

只看该作者 1楼 发表于: 2013-01-05
学习 正好能用上
离线some0ne

只看该作者 2楼 发表于: 2013-01-10
嗯. 不错. 没有CSDN积分的可以去这里下, 要10分. 有点多.
http://ishare.iask.sina.com.cn/f/33714040.html?from=dl&retcode=0
只有到崩溃的那一刻, 才可能达到完美.
离线windboyz
只看该作者 3楼 发表于: 2013-01-12
LZ 我的的linux QT5 装完没有kit 能用,自己manual往里加也搞不定,能否给个教程啥的参考一下。
快速回复
限100 字节
 
上一个 下一个