无法解析shared_ptr

时间:2016-07-05 10:18:37

标签: c++ eclipse c++11 cygwin

我正在使用Eclipse Juno和Cygwin C ++编译器(最新版本)。 我想宣布shared_ptr(之前没有使用过这个指针)作为..

包含内存头文件。

int main(){

std::shared_ptr <int> pointer;

return 0;
}

但编译器无法解析shared_ptr。为了解决这个问题,我已经完成了以下步骤:

  1. properties-&gt; c / c ++ build-&gt; settings-&gt; tool settings-&gt; Miscellaneous-&gt;其他旗帜 - &gt; -c -fmessage-length = 0 -std = c ++ 11
  2. properties-&gt; c / c ++ build-&gt; settings-&gt;工具设置 - &gt; Cygwin C ++连接子 - >库(-1) - &GT;添加(-pthread)
  3. C / c ++ General-&gt;路径和符号 - &gt;符号 - &gt;将 GXX_EXPERIMENTAL_CXX0X 添加到&#34;名称&#34;并离开&#34;价值&#34;空白。
  4. C / c ++ General - &gt;预处理器包括Paths,Macros-&gt; Entries-&gt; CDT用户设置条目 - &gt; Add-&gt;预处理器宏(来自下拉菜单) - &gt;名称:__ cplusplus,价值:201103L-&gt;应用
  5. 索引 - &GT;重建
  6. 重启Eclipse
  7. 不幸的是,无法解决问题。如果我得到帮助,你真好。提前谢谢。

2 个答案:

答案 0 :(得分:2)

您需要#include <memory>才能让编译器了解std::shared_ptr

答案 1 :(得分:0)

亲爱的每个回答我问题的人, 我能够解决问题。 :-) 删除旧的__cplusplus值(199711L)后,编译器能够知道shared_ptr。