日志
Ubuntu 12.04 Qt5.0充分体验C++11编程的乐趣
2012-12-28 11:42
正在阅读《C++ Primer 5th edition》,这是为C++11标准完全重新编写的最新版本的C++ Primer,电子书下载地址:C++ Primer 5th edition ,在Ubuntu 12.04中安装了Qt5当作学习环境,编译书中的例程。
编译如下语句遇到问题了 struct Sales_data{ string bookNo; unsigned units_sold=0; double revene=0.0; }; 我们知道C++11标准开始支持类内初始化(in-class initializer),Qt creator编译出现error,不支持这个特性,原因在于,Ubuntu12.04默认的是使用gcc4.6,而只有gcc4.7才支持C++11,使用如下办法升级Ubuntu 12.04下的gcc
cd /usr/bin sudo rm g++ sudo ln -s g++-4.7 g++ sudo ln -s gcc-4.7 gcc 现在编译并执行例程,ok!编译通过了! 体验追加: 使用auto特性 编译提示: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat] 这是由于g++默认未打开对C++11的支持,在pro文件中加入CONFIG += c++11,Qt Creator编译时自动增加参数:-std=c++11 |
下一篇: ((M *)0)->b;肯定会出错,而&(((M *)0)->b)这样写为什么不报错?
上一篇: 无