2009-10-06 86 views
3

如何让Eclipse CDT将shared_ptr作为T *进行语法完成?获取Eclipse CDT + boost :: shared_ptr <T>以使用语法完成?

我在这种情况下使用Windows。 “Program Files”文件夹中有1.39。我即将尝试1.37。

我正在使用Eclipse的伽利略版本。另外,我只编辑和浏览Eclipse中的源代码,并在VC++ Express中编译。 (但那是另一回事)

+0

你有你的项目包括路径中的boost文件的包含路径?我的boost库位于usr/include /中,我将它们包含为#include 2009-10-06 12:06:34

回答

4

你使用的是什么版本的boost?

根据this thread

原来有一些是关于升压1.39的CDT索引不喜欢。
如果我允许CDT索引增强1.36,那么自动完成适用于typedef的元素,如下所示。
如果我允许它仅索引1.39,那么相同的自动完成功能不起作用。

(与CDT5 or 6发生)

2

Boost库的Eclipse CDT的索引始于1.37版本挣扎(甚至1.36,不能”验证)了。

我的解决方法,而使用了最新的增强版本(1.39)在下面的一个从代码完成中受益:

  • 我有我的电脑上两个升压版本(1.35和1.39)。
  • 在调试构建配置(设置/目录)中,我将包含路径设置为旧的增强版本。
  • 在发布构建配置中,我将包含路径设置为实际的提升库。
  • 我设置索引选项“构建配置为索引”为“使用固定生成配置”>调试

现在的索引使用索引和代码完成,但发行版本旧库仍然会被编译最近的升级版本。至少这对我有效。如果您遇到同样的问题,请验证您的构建配置!

1

我刚刚在Eclipse 3.6 M5(Helios里程碑版本)中使用相应版本的CDT 7.0进行了试用,它能够自动完成它以前在Eclipse 3.5中用CDT 6失败的boost :: shared_ptr。我使用的是Boost 1.40,因此他们必须解决模板索引器遇到的任何问题。

您可以尝试使用http://www.eclipse.org/downloads/,选择“Development Builds”,然后像往常一样选择“Eclipse for C/C++”来尝试新版本。

0

长期以来,这一直是我的失望之源,但在最近升级到伽利略和CDT 6后,它现在正在工作!

提升:1.39
CDT:6.0.2.201002161416

希望这有助于。

相关问题