解决eclipse无法解析shared_ptr
今天心血来潮更新了一下机器上的ubuntu,装了14.04版本,原来是32位的,换成64的之后感觉是快了不少(加了内存)。因为不少软件没做备份,包括eclipse,所以只得重装,重装之后的麻烦事儿就是配置了。记得在ubuntu12那会儿,我装的eclipse c++版本是一开始没法解析c++的标准库文件,还得自己在项目中手动添加才行,就像pthread库也非得自己下载自己手动添加一样,挺麻烦的,那会儿还不大愿意用,虽然不是啥技术问题,但是当年还真是影响到了大片人。现在版本更新之后好像已经解决这个问题了,用着还挺顺手。
但是一个比较烦人的是g++带的库里memory头文件一直是不能直接提供shared_ptr你使用的,估计为了兼容不支持c++11的那拨,做了一些处理,想要使用还是得用tr1里的。因为我不大喜欢这个别扭的名字,所以一直琢磨着给整正常了(直接用memory里包含的版本)。
接着照着以前的做法,给项目属性里的Path and Symbol加上了
GXXEXPERIMENTALCXX0X
结果发现并未成功,一查新下载的g++的版本,得嘞,4.8.2,之前用的是4.7,想必是代码变了模样了,于是追到memory这儿一看:
#include <bits/stl_algobase.h>
#include <bits/allocator.h>
#include <bits/stl_construct.h>
#include <bits/stl_uninitialized.h>
#include <bits/stl_tempbuf.h>
#include <bits/stl_raw_storage_iter.h> #if __cplusplus >= 201103Linclude <exception> // std::exception
include <typeinfo> // std::type_info in get_deleter
include <iosfwd> // std::basic_ostream
include <ext/atomicity.h>
include <ext/concurrence.h>
include <bits/functexcept.h>
include <bits/stl_function.h> // std::less
include <bits/uses_allocator.h>
include <type_traits>
include <functional>
include <debug/debug.h>
include <bits/unique_ptr.h>
include <bits/shared_ptr.h>
if _GLIBCXX_USE_DEPRECATED
include <backward/auto_ptr.h>
endif
#elseinclude <backward/auto_ptr.h>
#endif
果然代码相较于4.7版本的变了模样,这里我们可以看到,根据条件编译命令所指示的信息,我们必须让__cplusplus宏的值大于等于201103L,于是再次回到
Project->Properties->C++ General->Pahts and Symbols->Symbols(选项卡)
增加_cplusplus Symbol然后设置值为201103L,重新编译项目之后即可使用memory提供的sharedptr.
后来逛stackoverflow(为什么没有约定俗称的中文名?比如栈溢出,打英文的很累呢!θ\(;¬_¬))发现也有不少人在问类似的问题,嗯。。这方面,Windows平台省不少事,话说平胸而论,cl在windows上(或者说visual studio上)对c/c++的支持灵活很多,管它其他的呢,我用着舒坦啊,但是,我还是很爱Linux平台的(〝▼皿▼) 。
解决eclipse无法解析shared_ptr的更多相关文章
- 解决域名DNS解析的故障
在实际应用过程中可能会遇到DNS解析错误的问题,就是说当我们访问一个域名时无法完成将其解析到IP地址的工作,而直接输入网站IP却可以正常访问,这就是因为DNS解析出现故障造成的.这个现象发生的机率比较 ...
- 解决eclipse中自带的maven搜索不到非本地第三方包问题
解决eclipse中自带的maven搜索不到非本地第三方包问题 版权声明:本文为博主原创文章,未经博主允许不得转载. 最近使用eclipse中的maven插件时发现,在pom.xml文件中添加第 ...
- 解决Eclipse中文乱码 - 技术博客 - 51CTO技术博客 http://hsj69106.blog.51cto.com/1017401/595598/
解决Eclipse中文乱码 - 技术博客 - 51CTO技术博客 http://hsj69106.blog.51cto.com/1017401/595598/
- Eclipse 在ubuntu桌面显示快捷启动以及解决Eclipse 在ubuntu中点击菜单栏不起作用的原因.
要在Eclipse中设置好之后,可以通过如下方式在周末显示快捷启动以及解决Eclipse在ubuntu高版本中点击菜单栏项不显示列表的问题 在usr/share/app-install/desktop ...
- 彻底解决Eclipse自动补全变量名及变量名后面追加类型名
彻底解决Eclipse自动补全变量名问题的方法步骤 发布于 2014-11-04 14:53 已被阅读 31613159 次 大家使用eclipse或者MyEclipse敲代码的时候,是不是都被这 ...
- 解决eclipse spring配置报错:cvc-elt.1: Cannot find the declaration of element
解决eclipse spring配置报错:cvc-elt.1: Cannot find the declaration of element 'beans'.Referenced file conta ...
- 解决JSP 不解析EL表达式
解决JSP 不解析EL表达式,jsp在使用EL表达式的时候发现它不被解析,而是直接以字符串的形式显示了出来,经过查阅资料和实践,终于得知了原因并找到了解决方案 原因是:在默认情况下,Servlet 2 ...
- 解决eclipse中出现Resource is out of sync with the file system问题
解决eclipse中出现Resource is out of sync with the file system问题 . 分类: 嵌入式开发平台和环境相关 2011-12-27 16:18 4872人 ...
- 解决eclipse闪退的办法
Eclipse Java EE 便出现打开闪退的现象. 修改eclipse.ini无效,参照了网上许多方法也不行. 最后发现了一个蛋疼的方法: 1.打开eclipse的workspace目录 2.删除 ...
随机推荐
- 1.Perl基础系列之WHAT、WHY、HOW
What? Perl,一种功能丰富的计算机程序语言,运行在超过100种计算机平台上,适用广泛,从大型机到便携设备,从快速原型创建到大规模可扩展开发. Why? Perl追求简洁快速地解决问题,可很方便 ...
- C语言数组的学习
什么是数组? 在程序设计中,为了处理方便,把具有相同类型的若干变量按有序的形式组织起来.这些按序排列的同类数据元素的集合称为数组. 在C语言中,数组属于构造数据类型.一个数组可以分解为多个数组元素,这 ...
- Asp.Net MVC+EF+三层架构的完整搭建过程
架构图: 使用的数据库: 一张公司的员工信息表,测试数据 解决方案项目设计: 1.新建一个空白解决方案名称为Company 2.在该解决方案下,新建解决方案文件夹(UI,BLL,DAL,Model) ...
- 系统service
Context.TELEPHONY_SERVICE TelephonyManager tManager = (TelephonyManager)getSystemService(Context.TEL ...
- NFC应用(二)读写器模式
NFC第二种应用场境就是所谓的读写器模式.既然有卡,当然就会有读写器,这两种模式是配合在一起使用的.两个卡放一起不能通信,两个读写器模式的设备也不能通信. NFC读写器一般支持以下一种或多种协议:Mi ...
- Html辅助方法 之 Form表单标签
一.Html.BeginForm <form>标签 //视图代码@using (Html.BeginForm("search", "home", F ...
- ajax jquery return没有返回值
错误写法: function editdivisionmember(division_id,users_id){ $.ajax({ type:"POST", url:"/ ...
- UESTC_Sea Base Exploration CDOJ 409
When the scientists explore the sea base, they use a kind of auto mobile robot, which has the missio ...
- hdu 5441 Travel(并查集)
Problem Description Jack likes to travel around the world, but he doesn’t like to wait. Now, he is t ...
- Unity 为自己组件添加公共方法
为什么需要跟你的组件添加公共方法呢? 留一条后路嘛,万一你那天想起要给全部的组件添加一个方法. 此时我只能告诉你慢慢修改吧累死你 子组件:A ,父组件:B继承方式: A -> B –> ...