有没有办法告诉gcc忽略“”?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有没有办法告诉gcc忽略“”?相关的知识,希望对你有一定的参考价值。
运行sloeber(在cdt的托管构建系统上构建arduino eclipse插件)后执行命令并失败:
'Starting combiner'
"D:eclipsesloebereclipse/arduinoPlugin/packages/arduino/tools/arm-none-eabi-gcc/4.8.3-2014q1/bin/arm-none-eabi-gcc" -mcpu=cortex-m4 -mthumb -Os -Wl,--gc-sections "-TD:eclipsesloebereclipse/arduinoPlugin/packages/Maxim/hardware/arm/1.0.3/system/CMSIS/Device/Maxim/MAX32620/Source/GCC/max32620.ld" "-Wl,-Map,D:workspacesjunit-workspace363_max32620_fthr/Release/363_max32620_fthr.map" -o "D:workspacesjunit-workspace363_max32620_fthr/Release/363_max32620_fthr.elf" "-LD:workspacesjunit-workspace363_max32620_fthr/Release" -Wl,--cref -Wl,--check-sections -Wl,--gc-sections -Wl,--entry=Reset_Handler -Wl,--unresolved-symbols=report-all -Wl,--warn-common -Wl,--start-group .sloeber.ino.cpp.o "D:eclipsesloebereclipse/arduinoPlugin/packages/Maxim/hardware/arm/1.0.3/system/startup/Build_max32620/system_startup_max32620.a" "D:eclipsesloebereclipse/arduinoPlugin/packages/Maxim/hardware/arm/1.0.3/system/MAX32620PeriphDriver/Build/PeriphDriver.a" "" D:workspacesjunit-workspace363_max32620_fthr/Release/arduino.ar -Wl,--end-group -lm -gcc --specs=nosys.specs
arm-none-eabi-gcc: error: : No such file or directory
问题是由命令中的“”引起的。据我所知,gcc将“”解释为文件输入,但未找到该文件。至于gcc,这是一个错误,他尽可能地报告。 当我删除“”一切都很好但是...... makefile中的实际命令是:
${A.RECIPE.C.COMBINE.PATTERN.1} $(LINK_OBJ) ${A.RECIPE.C.COMBINE.PATTERN.2} ${A.ARCHIVE_FILE_PATH} ${A.RECIPE.C.COMBINE.PATTERN.3} ${JANTJE.EXTRA.ALL} ${JANTJE.EXTRA.LINK}
为了能够删除“”我需要扩展命令。我曾经这样做,但我正在努力支持非扩展命令以获得其他工作。 所以我想知道我是否可以轻轻地请求gcc忽略这些“扩展剩余”。
注1:我正在处理来自多方的文件。如果供应商认为做“$ {A_VAR}”这样的事情是个好主意,那么A_VAR会扩展到零,那么我就无能为力。
注2:我可以在Linux和Windows中重现这个问题。从信息我看到cygwin将处理这种情况(我没有测试)
这不是问题的答案,而是避免问题的一种方法。
我将A_VAR定义为-DIDefinedThisHere
因此,该命令现在包含"-DIDefinedThisHere"
而不是""
因为它是一个编译命令,gcc接受命令。由于我使用了一个非常特殊的定义名称,因此这不太可能导致下游问题。
在我的例子中,我选择了一个定义名称,指定定义的位置。在那里,我添加了一些关于为何定义它的评论。 这个想法是,当某人有一个错误,因为A_VAR不像“它应该是”那样,它们至少会被路由到根本原因并解释原因。 :-s。
(为了记录,那个人可能是我。
以上是关于有没有办法告诉gcc忽略“”?的主要内容,如果未能解决你的问题,请参考以下文章
有没有办法告诉 Stata 执行整个 do-file 忽略产生异常(甚至语法错误)的行?