【问题标题】:Convert gcc command line into Eclipse CDT project file将 gcc 命令行转换为 Eclipse CDT 项目文件
【发布时间】:2017-07-28 11:42:30
【问题描述】:

我有一个远程交叉构建,我想手动从 makefile 构建中获取 gcc 命令行,并使用它来设置包含路径和预处理器定义的 Eclipse CDT 项目文件。我怎样才能做到这一点?

【问题讨论】:

标签: eclipse-cdt


【解决方案1】:

执行此操作的常用方法是使用构建输出解析器

  • 创建 Makefile 项目
  • Project Properties | C/C++ General | Preprocessor Include Paths, Macros etc. | Providers tab 中启用构建输出解析器(可能已经启用)。

    • 如有必要,请进行配置(例如,可能需要调整“编译器命令模式”以匹配您的交叉编译器的名称。)
  • 确保您可以在 Eclipse 中构建项目。如有必要,在Project Properties | C/C++ Build中配置make目标名称和调用目录。

  • 从 Eclipse 中调用构建。

    • 构建输出解析器将在构建结束时自动运行,解析构建输出中的编译器命令,并根据命令配置项目的包含路径和预处理器定义。

注意:为此,构建输出需要实际包含原始编译器命令。有时,例如使用 CMake 生成的 makefile,默认情况下不会启用它,但有一个启用它的选项 - 如果是这样,请确保 Project Properties | C/C++Build 中指定的“构建命令”包含该选项。

【讨论】:

  • 感谢 HighCommand - 对于本地构建来说,这确实是正确的方法。在我的情况下,我通过 ssh 在另一台机器上远程构建,因此 Eclipse 中使用的路径与构建输出中出现的路径具有不同的前缀。构建输出解析器可以处理这个吗?有没有办法让我将单个 gcc 命令行剪切并粘贴到构建输出解析器中并让它设置包含和定义?
  • @Simon 文件的路径无关紧要,但重要的是构建输出解析器识别编译器命令。能够自定义“编译器命令模式”应该对此有所帮助。
  • @Simon 你可以编写一个虚拟的 makefile 来回显相关的命令行。
猜你喜欢
  • 2011-01-26
  • 2017-09-26
  • 2020-03-22
  • 2011-01-13
  • 2012-01-13
  • 2011-12-26
  • 2021-06-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多