c – eclipse中的unique_ptr自动完成

前端之家收集整理的这篇文章主要介绍了c – eclipse中的unique_ptr自动完成前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在玩unique_ptr.在我的last post中,人们通过在编译期间指定-std = c 0x来帮助我编译使用此指针的程序.
现在我想知道是否有任何方法可以指示eclipse在自动完成时考虑c 11?
unique_ptr没有进入std :: namespace列表,也没有找到与unique_ptr相关的方法(reset,move …).

谢谢
瓦希德

最佳答案
“memory”标题(可能在/usr/include / c /4.9/memory中找到)只包含“unique_ptr.h”和“shared_ptr.h”(可能位于/usr/include / c /4.9/bits/unique_ptr. h和/usr/include / c /4.9/bits/shared_ptr.h)如果宏“__cplusplus”等于或大于“201103L”.检查memory.h,自己在第69行查看“#if”预处理器条件(或搜索字符串“#if __cplusplus> = 201103L”).

正如其他人所提到的,使用“-std = c 0x”或更高版本的c标准(-std = c 11或-std = c 14)进行编译可以解决编译错误,但不能解决eclipse索引和自动完成问题.

为了解决eclipse索引问题,我将“__cplusplus”预处理器宏添加到项目构建属性中,值为“201103L”,之后我刷新了索引;

添加预处理器宏:

“右键单击项目资源管理器上的项目”>>属性>> C/C++一般>>预处理器包括>>条目>> GNU C> CDT用户设置条目>>添加…>>预处理器宏;

然后输入一个名为“__cplusplus”且值为“201103L”的宏;

之后,要刷新索引,请执行以下操作:

“右键单击项目资源管理器上的项目”>>索引>>重建;

Ps.:我在ubuntu 15.04 64bits上使用gcc 4.9.2和eclipse Luna(4.4.2)

猜你在找的Linux相关文章