加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

c – eclipse中的unique_ptr自动完成

发布时间:2020-12-13 18:55:20 所属栏目:Linux 来源:网络整理
导读:我正在玩unique_ptr.在我的last post中,人们通过在编译期间指定-std = c 0x来帮助我编译使用此指针的程序. 现在我想知道是否有任何方法可以指示eclipse在自动完成时考虑c 11? unique_ptr没有进入std :: namespace列表,也没有找到与unique_ptr相关的方法(res

我正在玩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)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读