首页 > 解决方案 > 如何获取 Eclipse 无头构建的工具 ID

问题描述

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"

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

我找不到任何关于如何让工具 id 传递给 -T 命令的文档。任何帮助,将不胜感激。

==================== 更新 ======================== 在此处输入图像描述 我试图弄清楚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,但没有成功。

我发现这个似乎相关的链接

标签: eclipseeclipse-cdt

解决方案


在 .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

推荐阅读