注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

还东国的博客

行之苟有恒,久久自芬芳

 
 
 

日志

 
 

在Eclipse中支持C++11  

2013-12-24 12:57:53|  分类: 环境安装使用 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

Eclipse中支持C++11

虽然VS2013支持C++11非常好,但是毕竟有些LINUX下的库在WIN下是无法使用的,所以考虑再三觉得还是在LINUX找一个支持C++11IDE是最好的了,不想用QT,便想起了Eclipse,于是准备在UNBUNTU12下自动更新。

结果让人感到失望的是一切都成为了过去,付之阙如。悲剧了。好多包都是NOT FOUND.

只好从官网上下了JDKECLIPSEC++开发版的SDK

安装没有什么,两个都是解压缩就可以使用的,没有什么安装过程需要说明。JDK设置网上和书上都是满天飞的:注意下面是UBUNTU的。

user@linux# vi ~/.bashrc

export JAVA_HOME=/usr/local/jdk-7-sun

export JRE_HOME=${JAVA_HOME}/jre

export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

export PATH=${PATH}:${JAVA_HOME}/bin

将上面的路径设置成你的环境相应的路径就可以了

然后启动Eclipse,建立一个C++工程,选择LINUX GCC,下一步就可以创建一个C++的工程了,运行OK。非常简单吧。

可是为了支持C++11,还得往下走。将上面新的工程内的INCLUDE打开,发现所有的路径包含的都是4.6版本,也就是说,这个东西是不支持4.8的。直接在程序里配置了半天,也没有搞定。后来干脆直接把GCC都升级到了4.8.  注意下面红色一行是另外一种更新的方法,与蓝色两行对应,具体看下面的链接。

sudo add-apt-repository ppa:ubuntu-toolchain-r/test

sudo update-alternatives --remove-all gcc

sudo update-alternatives --remove-all g++

sudo apt-get update 

sudo apt-get install gcc-4.8

sudo apt-get install g++-4.8

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 20

sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 20

sudo update-alternatives --config gcc

sudo update-alternatives --config g++           如果只是使用新的编译器到这里就可以了

http://fpcfjf.blog.163.com/blog/static/5546979320131012102559385/  注意两者区别

//说明一下,以下三个过程特别慢,如果网速不行会更慢。好像在公司用了半个小时得多。

sudo apt-get update                           更新源

sudo apt-get upgrade -y                    更新已安装的包

sudo apt-get dist-upgrade                更新所有软件

 

最后用gcc --version检查一下,果然是4.8.1.

这时候儿又新建立了一个工程,结果还是报错,按网上说的:

设置了下面三个方面:

1Properties->C/C++ General->Preprocessor Include Paths, Macros->[Providers] tab->your Built-in Compiler Settings provider (toolchain dependent).

Click on "Workspace Settings" link which gets you to "Settings" property page, select [Discovery] tab and your provider again. There is "Command to get compiler specs", add "-std=c++0x" or “-std=c++11” in there.

2C/C++ Build > Settings > GCC C++ Compiler > Miscellaneous > other flages -std=c++11 c++0x

3、添加-pthread 到该工程 properties->C/C++ Build -> Settings -> Tool Settings ->  GCC C++ Linker -> Miscellaneous -> Linker flags

第三个是在测试Thread时报得:

terminate called after throwing an instance of 'std::system_error' what():  Operation not permitted  Aborted

可以编译,运行不行。

还有就是一开始可能不知道怎么改来改去的,始终不行,编译总报错,只要是C++11的库,就报methord could not unreslove的错误。但还能编译过去,真是不知所名。

还有一件事就是,即使你装好了GCC4.8,可能还是会报错误,但是重启或者过一会儿可能会好起来,不知道什么原因,开源的东西大抵是这样。想不花钱,就得忍受些子不好用,你说是吧。

坚持下去,一切都会慢慢变好。

  评论这张
 
阅读(1963)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017