3

如何让 Eclipse CDT 将 shared_ptr 视为 T * 以完成语法?

在这种情况下,我使用的是 Windows。我在“程序文件”文件夹中有 1.39。我即将尝试1.37。

我正在使用 Eclipse 的 Galileo 版本。另外,我只是在 Eclipse 中编辑和浏览源代码并在 VC++ Express 中构建。(不过那是另一回事了)

4

4 回答 4

4

你用的是什么版本的boost?

根据这个线程

事实证明,CDT 索引器不喜欢 Boost 1.39。
如果我允许 CDT 对 boost 1.36 进行索引,那么自动完成功能适用于 typedef 的元素,如下所示。
如果我允许它仅索引 1.39,那么相同的自动完成功能将不起作用。

(发生在CDT5 或 6中)

于 2009-10-06T12:10:29.323 回答
2

boost 库的 Eclipse CDT 索引已经开始在 1.37 版(甚至 1.36 版,无法验证)上苦苦挣扎。

我在使用最新的 boost 版本(1.39)时从代码完成中受益的解决方法如下:

  • 我的电脑上有两个 boost 版本(1.35 和 1.39)。
  • 在调试构建配置(设置/目录)中,我将包含路径设置为旧的 bo​​ost 版本。
  • 在 Release Build Configuration 中,我将包含路径设置为实际的 boost 库。
  • 我将索引器选项“索引器的构建配置”设置为“使用固定构建配置”> 调试

索引器现在使用旧库进行索引和代码完成,但发布版本仍将使用最近的 boost 版本进行编译。至少这对我有用。如果您遇到同样的问题,请为您的构建配置验证这一点!

于 2009-11-03T09:19:56.293 回答
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++”。

于 2010-02-09T21:43:19.347 回答
0

很长一段时间以来,这一直是我沮丧的根源,但是在最近升级到 Galileo 和 CDT 6 之后,它现在可以工作了!

提升:1.39
CDT:6.0.2.201002161416

希望这可以帮助。

于 2010-04-05T16:19:25.553 回答