今天心血来潮更新了一下机器上的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 >= 201103L

include <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

#else

include <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的更多相关文章

  1. 解决域名DNS解析的故障

    在实际应用过程中可能会遇到DNS解析错误的问题,就是说当我们访问一个域名时无法完成将其解析到IP地址的工作,而直接输入网站IP却可以正常访问,这就是因为DNS解析出现故障造成的.这个现象发生的机率比较 ...

  2. 解决eclipse中自带的maven搜索不到非本地第三方包问题

     解决eclipse中自带的maven搜索不到非本地第三方包问题   版权声明:本文为博主原创文章,未经博主允许不得转载. 最近使用eclipse中的maven插件时发现,在pom.xml文件中添加第 ...

  3. 解决Eclipse中文乱码 - 技术博客 - 51CTO技术博客 http://hsj69106.blog.51cto.com/1017401/595598/

    解决Eclipse中文乱码 - 技术博客 - 51CTO技术博客  http://hsj69106.blog.51cto.com/1017401/595598/

  4. Eclipse 在ubuntu桌面显示快捷启动以及解决Eclipse 在ubuntu中点击菜单栏不起作用的原因.

    要在Eclipse中设置好之后,可以通过如下方式在周末显示快捷启动以及解决Eclipse在ubuntu高版本中点击菜单栏项不显示列表的问题 在usr/share/app-install/desktop ...

  5. 彻底解决Eclipse自动补全变量名及变量名后面追加类型名

    彻底解决Eclipse自动补全变量名问题的方法步骤 发布于 2014-11-04 14:53   已被阅读 31613159 次 大家使用eclipse或者MyEclipse敲代码的时候,是不是都被这 ...

  6. 解决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 ...

  7. 解决JSP 不解析EL表达式

    解决JSP 不解析EL表达式,jsp在使用EL表达式的时候发现它不被解析,而是直接以字符串的形式显示了出来,经过查阅资料和实践,终于得知了原因并找到了解决方案 原因是:在默认情况下,Servlet 2 ...

  8. 解决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人 ...

  9. 解决eclipse闪退的办法

    Eclipse Java EE 便出现打开闪退的现象. 修改eclipse.ini无效,参照了网上许多方法也不行. 最后发现了一个蛋疼的方法: 1.打开eclipse的workspace目录 2.删除 ...

随机推荐

  1. 1.Perl基础系列之WHAT、WHY、HOW

    What? Perl,一种功能丰富的计算机程序语言,运行在超过100种计算机平台上,适用广泛,从大型机到便携设备,从快速原型创建到大规模可扩展开发. Why? Perl追求简洁快速地解决问题,可很方便 ...

  2. C语言数组的学习

    什么是数组? 在程序设计中,为了处理方便,把具有相同类型的若干变量按有序的形式组织起来.这些按序排列的同类数据元素的集合称为数组. 在C语言中,数组属于构造数据类型.一个数组可以分解为多个数组元素,这 ...

  3. Asp.Net MVC+EF+三层架构的完整搭建过程

    架构图: 使用的数据库: 一张公司的员工信息表,测试数据 解决方案项目设计: 1.新建一个空白解决方案名称为Company 2.在该解决方案下,新建解决方案文件夹(UI,BLL,DAL,Model) ...

  4. 系统service

    Context.TELEPHONY_SERVICE TelephonyManager tManager = (TelephonyManager)getSystemService(Context.TEL ...

  5. NFC应用(二)读写器模式

    NFC第二种应用场境就是所谓的读写器模式.既然有卡,当然就会有读写器,这两种模式是配合在一起使用的.两个卡放一起不能通信,两个读写器模式的设备也不能通信. NFC读写器一般支持以下一种或多种协议:Mi ...

  6. Html辅助方法 之 Form表单标签

    一.Html.BeginForm <form>标签 //视图代码@using (Html.BeginForm("search", "home", F ...

  7. ajax jquery return没有返回值

    错误写法: function editdivisionmember(division_id,users_id){ $.ajax({ type:"POST", url:"/ ...

  8. 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 ...

  9. hdu 5441 Travel(并查集)

    Problem Description Jack likes to travel around the world, but he doesn’t like to wait. Now, he is t ...

  10. Unity 为自己组件添加公共方法

    为什么需要跟你的组件添加公共方法呢? 留一条后路嘛,万一你那天想起要给全部的组件添加一个方法. 此时我只能告诉你慢慢修改吧累死你 子组件:A ,父组件:B继承方式:  A -> B –> ...