【问题标题】:Eclipse CDT Error Parser for external gcc-based builder用于基于 gcc 的外部构建器的 Eclipse CDT 错误解析器
【发布时间】:2011-01-28 18:43:37
【问题描述】:

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

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

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

【问题讨论】:

    标签: c++ eclipse eclipse-cdt


    【解决方案1】:

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

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

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

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

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

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

    4) 确保在 Builders 页面上选择了 CDT Builder 和 Scanner Configuration Builder。对于 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,因为它允许导入对源文件夹的引用而不是创建物理副本,所以我只需在工作区中为每个目标 Jamfiles 创建一个单独的 eclipse 项目。在 CDT 6 中,如果您添加链接文件夹而不是导入源,它也可以工作。

    【讨论】:

    • 在 CDT 6 上不允许创建引用:实际上您可以创建一个链接到另一个位置的文件夹。您还可以将现有项目从自定义路径(链接)导入工作区。
    • 创建单独的构建配置也可能没有意义,因为 Jam 构建系统足够强大,可以同时构建所有项目。
    • 关于单独构建:这取决于您的工作流程和源代码树。例如,如果当前项目有多个同级项目,并且您现在专注于当前项目,您可能希望将构建范围限制在其中。关于将文件夹的链接添加到 CDT 项目中,这是一个好主意,而且似乎可行。我会用它更新我的答案。
    猜你喜欢
    • 2012-05-31
    • 2011-07-19
    • 1970-01-01
    • 1970-01-01
    • 2016-11-02
    • 1970-01-01
    • 2011-07-20
    • 2010-12-21
    • 2011-01-18
    相关资源
    最近更新 更多