7

我有一个庞大的现有 c++ 代码库。通常,代码库的用户使用 gvim 编辑源代码,但我们想开始使用 Eclipse 中漂亮的 IDE 功能。代码库有一个广泛的目录层次结构,但是由于我们在构建过程中使用了一些巫术,源文件使用了没有路径的包含指令。当我在 Eclipse 中将源链接到我的项目时,索引器抱怨它找不到任何头文件(因为我们没有在包含中指定路径。)如果我手动将工作区中的目录添加到包含路径,那么一切都很好,但显然手动添加数百个目录是不可行的。是否有一种简单的方法可以告诉 Eclipse 在项目中的任何位置查找包含文件,而不必一个一个地添加它们?如果不,

4

4 回答 4

5

CDT 管理构建路径的方式是查看项目目录基础中的 .cdtbuild xml 文件(它在 Windows 上可能是不同的名称......不确定)

在这你应该看到类似

<option id="gnu.c.compiler.option.include.paths....>
<listoptionValue builtIn="false" value="&quot;${workspace_loc:/some/path}$quot;" />
<listOptionValue ... />

...
</option>

这是放置您在 gui 中配置的所有构建路径的位置。使用简单的 perl 脚本来遍历项目并生成所有 listOptionValue 条目,将所有目录添加到此应该很容易。

这显然不是理想的方法。但我很好奇,你从什么构建系统迁移,如果它是基于 make 的,你应该能够让 eclipse 使用你的 make 文件。

于 2008-11-08T01:49:26.820 回答
3

此功能已在当前的 CDT 开发流程中实现,并将在 CDT 6.0 中提供,CDT 6.0 将于 2009 年 6 月与 Eclipse 3.5 一起发布。

基本上,如果您有一个#include 并且头文件存在于您的项目中,那么 CDT 将能够找到它,而无需手动设置包含路径。

如果您现在需要该功能,您可以下载并安装最新的 CDT 开发版本。

Eclipse Bugzilla:https://bugs.eclipse.org/bugs/show_bug.cgi?id=21356
最新 CDT 6.0 版本:http://download.eclipse.org/tools/cdt/builds/6.0.0/index.html

于 2009-05-06T17:57:35.800 回答
1

通过阅读这个 Eclipse CDT FAQ 条目,如果您从 Eclipse 中启动构建并且如果您的构建在实际启动/之前输出gcc/g++命令,则听起来 Eclipse 可以自动生成包含目录的列表。您可以通过在 Project Properties 下选择 C/C++ Build 类别并在对话框右侧查找 Build Command 选项来更改 Eclipse 启动构建的方式。gccg++

于 2008-11-13T15:38:05.547 回答
0

根据您在构建过程中执行的 voodoo 数量,Eclipse 可能无法正确解析您的源文件,尤其是当您为不同的源文件具有类似命名的标头时。如果您真的想充分利用 Eclipse,您将需要确保无论您有什么设置,您都不会混淆解析器。我个人建议有一个简单的布局和构建过程。

至于手头的问题,一一添加目录几乎是您最好的选择。

于 2008-11-08T03:55:57.470 回答