如何让Eclipse CDT将shared_ptr作为T *进行语法完成?获取Eclipse CDT + boost :: shared_ptr <T>以使用语法完成?
我在这种情况下使用Windows。 “Program Files”文件夹中有1.39。我即将尝试1.37。
我正在使用Eclipse的伽利略版本。另外,我只编辑和浏览Eclipse中的源代码,并在VC++ Express中编译。 (但那是另一回事)
如何让Eclipse CDT将shared_ptr作为T *进行语法完成?获取Eclipse CDT + boost :: shared_ptr <T>以使用语法完成?
我在这种情况下使用Windows。 “Program Files”文件夹中有1.39。我即将尝试1.37。
我正在使用Eclipse的伽利略版本。另外,我只编辑和浏览Eclipse中的源代码,并在VC++ Express中编译。 (但那是另一回事)
你使用的是什么版本的boost?
根据this thread:
原来有一些是关于升压1.39的CDT索引不喜欢。
如果我允许CDT索引增强1.36,那么自动完成适用于typedef的元素,如下所示。
如果我允许它仅索引1.39,那么相同的自动完成功能不起作用。
(与CDT5 or 6发生)
Boost库的Eclipse CDT的索引始于1.37版本挣扎(甚至1.36,不能”验证)了。
我的解决方法,而使用了最新的增强版本(1.39)在下面的一个从代码完成中受益:
现在的索引使用索引和代码完成,但发行版本旧库仍然会被编译最近的升级版本。至少这对我有效。如果您遇到同样的问题,请验证您的构建配置!
我刚刚在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++”来尝试新版本。
长期以来,这一直是我的失望之源,但在最近升级到伽利略和CDT 6后,它现在正在工作!
提升:1.39
CDT:6.0.2.201002161416
希望这有助于。
你有你的项目包括路径中的boost文件的包含路径?我的boost库位于usr/include /中,我将它们包含为#include –
2009-10-06 12:06:34