首页| 论坛| 消息

标题:Ubuntu 12.04如何让Qt5.0完全支持C++11
作者:jeffreylee
日期:2012-12-28 11:46
内容:

正在阅读《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
sudo add-apt-repository ppa:ubuntu-toolchain-r/testsudo apt-get updatesudo apt-get install gcc-4.7sudo 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!编译通过了!


#1 [qujunde 01-05 19:09]
学习 正好能用上
#2 [some0ne 01-10 10:19]
嗯. 不错. 没有CSDN积分的可以去这里下, 要10分. 有点多.
http://ishare.iask.sina.com.cn/f/33714040.html?from=dl&retcode=0
#3 [windboyz 01-12 02:56]
LZ 我的的linux QT5 装完没有kit 能用,自己manual往里加也搞不定,能否给个教程啥的参考一下。

回复 发表
主题 版块