【问题标题】:Pass selected file to Make target in Eclipse将选定的文件传递给 Eclipse 中的 Make 目标
【发布时间】:2016-11-03 18:47:39
【问题描述】:

在我目前工作的公司,正在使用几种 IDE(它们为不同的嵌入式平台开发固件)。 他们所有的 C 项目都使用 Makefile,因此我们决定在他们的默认 Makefile 中添加规则以运行静态代码分析工具。

他们使用的 IDE 之一是 Eclipse。 在这里,我们向 Make Target 视图添加了其他目标,例如,它会从 Makefile 中触发 lint 目标。 由于我们使用多个 IDE,我们可以告诉 Makefile 调用的工具为正在使用的 IDE 生成特定的输出。 对于 Eclipse,我们通过调整构建命令并在末尾添加类似 IDE_ENV=eclipse 的内容来做到这一点。 这工作得很好。

最近一位工程师提到,如果他可以为单个文件运行 Makefile 中定义的工具,那将非常有帮助。 因此,我更新了 Makefile,它现在接受一个变量 SOURCE_FILE,其中包含需要检查的文件路径。

在 Eclipse 中,我尝试添加 SOURCE_FILE=${selected_resource_loc}SOURCE_FILE=${resource_loc},但这些变量在运行 Make Target 时似乎不起作用。 我还尝试在 Makefile 中直接使用$(selected_resource_loc)$(resource_loc),但没有任何运气。

有人可以告诉我在从 Make Target 视图运行目标时如何将当前选定的文件传递给 Make 吗?

【问题讨论】:

  • 我尝试将它作为外部工具运行,但是当我这样运行它时,Eclipse 不会解析输出。
  • 我已经尝试了多种方法,但我认为目前不可能。也许您应该尝试在 eclipse 论坛上发布此内容或在 eclipse 的 Bugzilla 上打开功能请求。似乎从未在此字段中解释变量。
  • (只是一个想法:)当您将 make 作为外部工具运行时,您是否启用了刷新?
  • 也许我误解了你,但如果你右键单击项目树中的文件,会有一个选项“构建选定的文件”。那是你要找的吗?编辑:似乎这仅适用于自动生成的make文件(?):(
  • 这不仅仅是构建,我想从我的 makefile 运行特定规则并将选定/活动文件作为参数传递。

标签: c++ c eclipse makefile eclipse-cdt


【解决方案1】:

在构建配置中无法识别某些 Eclipse 特殊变量。尝试使用外部工具配置,而不是运行构建过程。

此处描述了类似的问题:Custom command for Eclipse on current file

【讨论】:

  • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会失效。 - From Review
  • 感谢您的信息。我在答案中添加了一些细节。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-09-23
  • 1970-01-01
  • 1970-01-01
  • 2011-01-13
  • 1970-01-01
  • 2013-06-08
  • 1970-01-01
相关资源
最近更新 更多