用于外部基于gcc的构建器的Eclipse CDT Error Parser

Chr*_*ris 6 c++ eclipse eclipse-cdt

我知道CDT 7将包含一个正则表达式错误解析器,但我现在正在使用CDT 6.

我有一个外部CDT构建器,它只调用一个shell脚本来触发我的构建(基于Jam).构建使用GCC,错误和警告流式传输到Console视图,但当然没有错误解析器正在查看它,因此我的Problems视图中没有任何内容.

有没有办法配置CDT在我的控制台输出上使用它的GCC扫描程序来填充Problems视图?GCC解析器已启用,它只是没有查看我的输出.

Kri*_*rit 3

我不确定这个问题是否仍然存在,但以下解决方案应该可以填充问题视图:

1)在CDT中创建一个空的C++ makefile(我们称之为solution1

2) 从项目的上下文菜单(在项目资源管理器中)选择“导入...”

3) 在“导入”向导中选择“常规/文件系统”,单击“下一步”并选择源目录。不幸的是,CDT 6 不允许像 CDT 7 那样创建对文件的引用。相反,它将所有源复制到工作区中项目的位置。因此,您导入的最顶层目录应包含 Jamroot。不要忘记在“导入”对话框中选中所有必需文件和文件夹的所有复选框。

作为导入的更优雅的替代方案,您只需在 eclipse 项目中创建一个文件夹并将其链接到包含必要 Jamfile 的源文件夹- 感谢 Vanuan 的提示。

添加文件后,打开项目属性并执行以下更改:

4) 确保在“构建器”页面上选择“CDT 构建器”和“扫描仪配置构建器”。对于 CDT Builder 属性,我建议选择除“自动构建期间”之外的所有选项

5)在“C/C++ Build”页面上取消选中“Use Default Build Command”并输入类似“${HOME}/boost.build/bin/bjam”的内容。在“构建位置”中,您应该将包含要从项目层次结构构建的必要 jamfile 的文件夹放入其中。例如, ” ${workspace_loc:/solution1/Server}

6) 切换到“行为”选项卡,为“构建(增量)”和“清理”选项添加必要的 bjam 参数。取消选中“基于资源保存构建(自动构建)”

7) 在“C/C++ Build/Settings/Error Parsers”中选择所有必需的解析器。其他一切都应保留默认状态。

之后你就可以出发了。

如果源树中有多个项目并且使用了“导入”方法,则为每个项目创建单独的构建配置并为它们指定相应的“构建位置”值是有意义的。我使用 CDT 7,因为它允许导入对源文件夹的引用,而不是创建物理副本,所以我只需在工作区中为每个目标 Jamfile 创建一个单独的 Eclipse 项目。在 CDT 6 中,如果您添加链接文件夹而不是导入源,它也将起作用。