我正在尝试向一个小项目添加一个构建后命令,该命令将自动获取我的构建输出文件 (ELF) 并将其转换为 Intel HEX 格式,以便在微控制器上闪烁。
然而,当我添加此命令时,构建失败。它使用 shell 运行的所有替换的 CMake 变量字符串重复该命令,并使用后修复它: not found
.
当我在正常成功构建 ELF 后在终端中运行该行时,它按预期工作。我是否在 CMake 处理此问题的某个地方遗漏了一个问题?
我已将目标添加到我的 CMakeLists.txt 中,如下所示:
add_custom_command(
TARGET ${EXECUTABLE_NAME}
POST_BUILD
COMMAND "${CMAKE_OBJCOPY} -O ihex ${EXECUTABLE_NAME} ${PROJECT_NAME}.hex"
)
该命令最终解析为<absolute-path>/avr-objcopy -O ihex test_blink.elf test_blink.hex
我可以验证它,因为它是由 CMake 打印到终端的。
这个字符串是错误的:
COMMAND "${CMAKE_OBJCOPY} -O ihex ${EXECUTABLE_NAME} ${PROJECT_NAME}.hex"
您应该使用ARGS
关键词:
COMMAND ${CMAKE_OBJCOPY} ARGS -O ihex ${EXECUTABLE_NAME} ${PROJECT_NAME}.hex
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)