首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在CMAKE自定义命令中运行objcopy将导致make过程中的错误

在CMAKE自定义命令中运行objcopy将导致make过程中的错误
EN

Stack Overflow用户
提问于 2018-07-01 15:46:33
回答 1查看 3.8K关注 0票数 2

我试图在一个小项目中添加一个构建后命令,它将自动获取我的构建输出文件(ELF),并将其转换为Intel HEX格式,以便在微控制器上闪烁。

但是,当我添加此命令时,构建将失败。它使用由shell运行的所有CMake变量字符串重复该命令,并使用: not found对其进行后期修复。

当我在正常的ELF成功构建后在终端上运行这条精确的线路时,它就像预期的那样工作。对于CMake如何处理这个问题,我有什么地方遗漏了吗?

我将目标添加到CMakeLists.txt中,如下所示:

代码语言:javascript
复制
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打印到终端的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-01 17:05:23

这个字符串是错误的:

代码语言:javascript
复制
COMMAND "${CMAKE_OBJCOPY} -O ihex ${EXECUTABLE_NAME} ${PROJECT_NAME}.hex"

您应该使用ARGS关键字:

代码语言:javascript
复制
COMMAND ${CMAKE_OBJCOPY} ARGS -O ihex ${EXECUTABLE_NAME} ${PROJECT_NAME}.hex
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51124762

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档