今天心血来潮更新了一下机器上的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. Django auth 登陆后页面跳转至/account/profile,修改跳转至其他页面

    这几天在学习django,django功能很强大,自带的auth,基本可以满足用户注册登陆登出,简单的用户注册登陆系统使用django auth足矣.当然也不是拿来就能用的,需要自己写登陆页面的模板, ...

  2. LFS,编译自己的Linux系统 - 准备

    概述 现在用的操作系统是Win8.1,用VMware创建一个虚拟机,3G内存(物理内存是6G,分一半),23G硬盘,其中3G用于swap分区,10G用于host system,10G用于建立LFS系统 ...

  3. STM32工程中出现 error: A1163E: Unknown opcode R0, , expecting opcode or Macro错误分析及处理

    最近测试以前的一个程序,一般都是打开以前写的程序修改参数直接测试 但是发现以前的编译后出现错误. 奇怪了,以前的出现都是调试好了的啊,一般都是没有错误的,迅速找问题 跳转到错误代码行 代码区域 Hea ...

  4. Eclipse Juno 配置反编译插件

    1 下载最新的jadClipse插件,地址:http://sourceforge.net/projects/jadclipse/files/jadclipse3.3/ 2 将net.sf.jadcli ...

  5. Socket 编程示例(二)

    利用晚上这点闲暇时间,写了一个Socket通信的小实例,该实例包含服务器端和客户端.其基本工作流程是:当服务器启动服务以后,客户端进行连接,如果连接成功,则用户可以在发送消息框中输入待发送的消息,然后 ...

  6. g++ error: extra qualification on member [-fpermissive]

    以下这段代码是在头文件里面的,DmaOpen DmaClose函数也是直接在class pcie_chip{}里面的.加了个额外的pcie_chip::才会报错. //delete pcie_chip ...

  7. 456. 132 Pattern

    456. 132 Pattern Given an array of integers a1, a2, a3-an, judge if there exists the 132 pattern. 13 ...

  8. MD5加密算法(转)

    获取字符串的MD5摘要 原文更详细: http://www.weixuehao.com/archives/474 代码如下: import java.security.MessageDigest; p ...

  9. 擅长排列的小明 II(找规律)

    擅长排列的小明 II 时间限制:1000 ms  |  内存限制:65535 KB 难度:3 描述 小明十分聪明,而且十分擅长排列计算. 有一天小明心血来潮想考考你,他给了你一个正整数n,序列1,2, ...

  10. 小函数,大智慧,php的isset和empty

    Disset()函数 一般用来检测变量是否设置  bool isset ( mixed var [, mixed var [, ...]] )  功能:检测变量是否设置  返回值:  FALSE  N ...