如何获取 Eclipse 无界面构建的工具 ID

8
Eclipse有一个无头构建选项,文档中说我们可以添加或替换工具选项。

替换工具选项值:-T {toolid} {optionid=value}

追加到工具选项值:-Ta {toolid} {optionid=value}

在工具选项值前添加:-Tp {toolid} {optionid=value}

删除工具选项:-Tr {toolid} {optionid=value}

如何找到构建选项的{toolid}值?
我想更改此命令的命令行参数。
arm-none-eabi-objcopy -O ihex "KTV_Rear.elf"  "KTV_Rear.hex"

to

arm-none-eabi-objcopy -O binary "KTV_Rear.elf"  "KTV_Rear.bin"

我找不到任何关于如何获取工具ID并传递给-T命令的文档。任何帮助将不胜感激。
==================== 更新 ======================== enter image description here 我尝试按照HighCommander4建议的方法找出工具ID是什么。在项目中搜索“工具ID”得到以下结果。
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.1172133377" name="GNU ARM Cross C++ Compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler"/>
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.linker.707543027" name="GNU ARM Cross C++ Linker" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.linker">
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.archiver.1908892168" name="GNU ARM Cross Archiver" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.archiver"/>
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.createlisting.1903643389" name="GNU ARM Cross Create Listing" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.createlisting">
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.270131667" name="GNU ARM Cross C++ Compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler"/>
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.linker.1091026714" name="GNU ARM Cross C++ Linker" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.linker">
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.archiver.1404415533" name="GNU ARM Cross Archiver" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.archiver"/>
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.createlisting.292770688" name="GNU ARM Cross Create Listing" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.createlisting">

我需要修改的命令的构建窗口输出是:
Invoking: GNU ARM Cross Create Flash Image
arm-none-eabi-objcopy -O ihex "KTV_Rear.elf"  "KTV_Rear.hex"

似乎不明显哪个工具ID可能与arm-none-eabi-objcopy有关。我尝试使用存档程序的工具ID字符串,但没有成功。

我找到了这个链接,看起来相关。


我对此并不十分自信,但是如果您打开CDT管理的构建项目的.cproject文件,其中会有形式为<tool id ="...">的条目。我认为这些就是相关的ID。 - HighCommander4
1个回答

0
在.cproject文件中,您可以找到工具ID(使用superClass字段,不带数字),并且对于每个工具,您可以找到选项ID列表。在调用行中,您需要指定工具ID、选项ID和选项的值,就像以下示例中所示(将my_lib_location添加到库搜索路径中):
-Tp cdt.managedbuild.tool.gnu.c.linker.exe.release gnu.c.link.option.paths=my_lib_location

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接