Eclipse有一个headless build option,他们在文档中说我们可以添加或替换工具选项
替换工具选项值:-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,但是没有运气。
我发现this link似乎相关
答案 0 :(得分: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