在 CMAKE 自定义命令中运行 objcopy 会导致 make 期间出错

2023-12-10

我正在尝试向一个小项目添加一个构建后命令,该命令将自动获取我的构建输出文件 (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(使用前将#替换为@)

在 CMAKE 自定义命令中运行 objcopy 会导致 make 期间出错 的相关文章

  • Qt 5 和 OS X Mavericks 问题

    我正在使用 Cmake 在 OS X 10 9 上构建 QT 项目 自 Mavericks 以来 OpenGL 标头的位置似乎发生了变化 文件夹 System Library Frameworks OpenGL framework Head
  • 如果构建是源代码外的,CMake 无法找出标头依赖项?

    我一直在使用 CMake 来管理一个单独的小型 c 项目 基于 Unix Makefile 并决定将其转换为更有组织的源代码外构建 但是 当它超出源时 通过执行cmake 在 build 中 我的标头不再是其源文件的依赖项 如果我只是从顶层
  • 使用 CMAKE (VISUAL STUDIO) 链接调试和发布库

    已经有一个Thread https stackoverflow com q 2209929 293195这并没有真正帮助 我希望能够链接例如Foo lib for Release配置和Foo d lib for Debug配置 我怎样才能实
  • CMake 错误:无法创建命名生成器 Visual Studio 15 2017 Win64-T

    我想建立这个项目 https github com xmrig xmrig https github com xmrig xmrig根据此处的说明 https github com xmrig xmrig wiki Windows Buil
  • 使用 OpenCL 支持构建 OpenCV

    在 CMake 中 我使用 OpenCL Enable ON 构建了 OpenCV 它自动检测到OPENCL INCLUDE DIR路径但是OPENCL LIBRARY即使单击配置后也是空的 为了OPENCL LIBRARY我也没有看到浏览
  • 在cmake中检测项目语言

    我想检测当前的项目语言 例如 如果我有这样的东西 cmake minimum required VERSION 3 0 project foo VERSION 1 0 LANGUAGES CXX 我需要这样的东西 if project la
  • 如何以编程方式迭代所有 CMake 目标?

    有没有办法从顶层获取 CMake 项目的所有目标CMakeLists txt 即以编程方式迭代目标 我想要这样做的原因是将一些 XCode 特定设置应用于每个目标 if CMAKE GENERATOR MATCHES Xcode inclu
  • CXX 编译器标识未知

    我们在使用 Visual Studio 2012 在 Windows 7 64 位下使用 CMake v2 8 12 编译项目时遇到问题 CMake 给我们提供了以下错误 我们已经尝试使用管理员权限从 Visual Studio 命令行启动
  • 设置 CMake OBJECT 库的输出目录

    在我的 CMake 文件中 我指定了一个对象库 add library core OBJECT sourcefiles 我在共享库中进一步引用了这组目标文件 add library sharedlib SHARED
  • 如何将脚本的依赖项添加到 CMake 中的目标?

    链接我的程序后 我需要对其执行一些后处理 我添加了一个add custom command TARGET 效果很好 但是 这个额外的自定义命令运行一个脚本 未生成 它已签入代码库 并且我希望如果该脚本发生更改 目标将被视为过时 以便正确重建
  • 构建错误:depfile 有多个输出路径 ninja:构建停止:子命令失败

    我在使用需要 CMake 支持的 JNI 代码构建 Java 项目时遇到此错误 该项目使用Android Studio构建 并得到NDK CMake和LLVM的支持 这些是 CMake 使用的以下标志 我实际上使用了作为 C 项目创建的项目
  • 无法在 Visual Studio 和 vcpkg 中构建 cmake 项目(致命错误 C1083)

    我今天安装了vcpkg 启用了与Visual Studio的集成 即 vcpkg集成安装 并开始安装库 我基本上安装了 cpprestsdk 并触发了 boost 库的安装 然后我在 Visual Studio CMake 中打开该项目 当
  • libSDL、CMake 和 Mac OS X Lion

    我正在尝试在我的Mac上编译cmake项目 但它取决于SDL框架 我安装了这个框架 在 cmake 之后向我报告找不到 libSDL 我自己设置了以下导出变量 按照 cmake 的建议 export SDL INCLUDE DIR Libr
  • pybind11:如何将 c++ 和 python 代码打包到一个包中?

    我正在尝试使用 CMake 和 pybind 11 将现有的 Python 代码和新的 C 11 代码打包在一起 我认为我缺少一些可以添加到 CMake 脚本中的简单内容 但在任何地方都找不到它 pybind11 示例只有 C 代码和没有P
  • CMake 中的 FindSDL2 发生了什么?

    我在游戏中使用 SDL2 我一直使用自定义 FindSDL2 cmake 因为标准 CMake 集中没有 然而 前段时间确实出现了有关 FindSDL2 的帖子 例子 红迪网帖子 https www reddit com r opengl
  • 如何在使用cmake完成make后打印消息?

    我正在尝试使用 CMake 完成构建过程后打印消息 我只是想在之后通知用户make命令已完成 没有任何错误 我该怎么做 我试过add custom target 但我无法选择何时跑步 另外 我尝试过add custom command 它再
  • cmake 生成 Xcode 项目 - 发布构建有效,但存档因链接器错误而失败

    使用 Xcode 6 3 1 CMake 3 2 2 我有一个与图书馆链接的项目 该库作为代码包含在 xcode project 中 经过编译 然后与主可执行文件链接 项目是用cmake生成的 CMakeLists txt 的一些摘录 ad
  • 使用 cmake 处理头文件依赖关系

    我正在一个小型 C 项目上使用 CMake 到目前为止 它运行得很好 有一点点 x 当我更改头文件时 通常需要重新编译许多源文件 直接或间接包含它的文件 但是 cmake 似乎只检测到some的源文件被重新编译 导致损坏状态 我可以通过清除
  • MinGW Make 抛出“系统找不到指定的路径。”错误

    我正在尝试在 Windows 7 上使用 cmake 生成一个 c 项目 在实际创建项目之前 cmake 会对您的工具链进行快速测试 我正在使用 MinGW 这就是我的问题所在 Cmake 触发 make 构建 最终失败并返回 系统找不到指
  • 如何从 CMake 构建目标仅生成目标文件 (*.o)?

    我正在尝试使用 CMake 构建一个对象文件 但我似乎无法让 CMake 构建除完整可执行文件之外的其他内容 我基本上是在寻找以下编译的结果 结果将加载到 VxWorks 目标上并然后链接 CC CFLAGS INC DIRS c src

随机推荐

  • Scala 将多行字符串转换为 BigInt

    我正在尝试使用以下代码从字符串中解析 100 个 50 位数字 val input 37107287533902102798797998220837590246510135740250 463769376774900097126481248
  • 谷歌 reCaptcha IE8

    Internet Explorer 8 支持 Google reCaptcha v2 吗 如果没有 是否有任何合适的 Internet Explorer 8 兼容验证码 我发现 reCaptcha 代码尝试使用 getContext 方法的
  • 在应用程序之间发送套接字c#

    我想知道是否有一种方法 您有一个 net 应用程序名称 appA 它接收 tcp 套接字连接 然后根据某些规则将套接字连接发送到另一个 net 应用程序名为 appB 我知道这违反了很多安全和良好实践 但如果可能的话会很有趣 Proxy 一
  • 动态 LiveTile - 添加背景图像?

    在我的 Windows Phone 7 应用程序中使用动态磁贴 效果非常好 我现在正在尝试创建动态动态图块 但无法显示背景图像 当使用下面的代码时 我只得到一个黑色的瓷砖 显示我添加的文本 但不显示背景图像 图像 构建操作 设置为 内容 有
  • WPF 背景两种色调

    我正在尝试做一些如此简单的事情 但无法取得任何成果 我一直在网上搜寻 试图找到一个清晰的示例或少量信息 但我找到的每一篇文章都显示了完全相同的简单示例 我想要做的就是为列表框项目设置一个背景 该背景是两种色调 但它们之间没有渐变混合 到目前
  • Pandas 合并两个具有不同列的数据框

    我肯定在这里错过了一些简单的东西 尝试合并 pandas 中几乎具有相同列名的两个数据框 但右侧数据框有一些左侧没有的列 反之亦然 gt df may id quantity attr 1 attr 2 0 1 20 0 1 1 2 23
  • 如何重定向 cron 脚本的完整输出

    我每天 18 35 运行一个简单的 cronjob 05 18 job sh 2 gt 1 gt gt job log 所以 job sh 的输出应该写入 job log 中 在job sh中 有一些echo命令和一些python脚本被执行
  • 如何使用正则表达式验证 JTable 的第一列?

    我正在编写一个程序 我必须验证第一列是否是 IP 地址 到目前为止 我只弄清楚如何找到如何过滤行 但在将数据写入文件之前必须检查该列 有人可以帮助我吗 您可以使用InputVerifier验证表格单元格的输入 这样你就不必验证一切after
  • 重新协商速率限制

    有谁知道在哪里以及如何设置此限制 这是关于 SSL TLS 连接的 如果您使用 OpenSSL 并且希望在一定字节数后进行重新协商 您可以使用BIO set ssl renegotiate bytes 如果您希望它在经过一定时间间隔后发生
  • Kotlin 转换双精度?至双倍

    我使用 Mapbox 开发地图应用程序 我正在使用的方法使用 Point Double Double 需要获取类型不匹配 找到双倍 双倍 val lat locationComponent lastKnownLocation latitud
  • 如何动态创建选项卡

    这是 C 中的 我基本上需要从 textbox Text 制作 TabPages 例如 textBox1 Text test TabPage textBox1 Text new TabPage 这就是我想要做的 我知道这不会直接工作 但这应
  • 带复选框的自定义列表视图 - 滚动时检查状态互换

    我使用带有复选框的自定义列表视图 滚动列表视图时 选中状态会互换如何控制互换并将其设置为默认值 即我选择的选中项目 代码供你参考 public View getView int position View convertView ViewG
  • 将时区名称转换为时间 ID:s

    我发现 iOS 框架不理解正确的时区名称 例如 东部标准时间 如果您输入 NSLog EST NSTimeZone timeZoneWithName Eastern Standard Time 你得到 美国东部时间 空 相反 您必须使用时间
  • 即使 RS 未完全满,是否也可能发生 RESOURCE_STALLS.RS 事件?

    的描述RESOURCE STALLS RSIntel Broadwell 的硬件性能事件如下 此事件对由于缺少合格条目而导致的停顿周期进行计数 在保留站 RS 这可能是由于 RS 溢出造成的 或者 由于 RS 阵列写入端口分配而导致 RS
  • 如何为 ggboxplot() 添加紧凑的字母显示?

    我正在尝试在我创建的箱线图中添加紧凑的字母显示 是否有机会结合cldList 功能与ggboxplot 这是我的示例数据 library FSA library multcompView library rcompanion library
  • 如何在Windows(Phone)8.1的BackgroundTask中使用SQLite

    Setup 我跟着带有 SQLite 示例的通用应用程序 to add SQLite到我的项目 然后添加BackgroundTask我跟着快速入门 创建并注册后台任务示例 Problem SQLite 的目标是Windows Phone 8
  • 动态改变 CSS 内容属性

    我的一个朋友正在从一家公司租用一个网上商店 他能够从不同的模板中进行选择 并且能够覆盖预定义的 CSS 并添加 javascript 片段 他要求我帮助她进行一些更改 但有一些我无法处理的事情 添加到购物车 按钮 在下面的 CSS 中 有一
  • 是否可以创建一个完全独立的 Python 包?

    问题 Ansible 是一个 python 模块 可通过 pip 安装 它依赖于几个依赖项 还有 pip 模块 是否可以将所有这些依赖项和 Ansible 本身 汇总 到某种单一包中 无需 root 即可离线安装 最好不需要 pip 进行安
  • 如何可靠地获取 Outlook 2013 插件中联系人上下文菜单的对象?

    我正在向上下文菜单添加一个条目Contact在 Outlook 2013 中如下本文中的示例 这是 XML
  • 在 CMAKE 自定义命令中运行 objcopy 会导致 make 期间出错

    我正在尝试向一个小项目添加一个构建后命令 该命令将自动获取我的构建输出文件 ELF 并将其转换为 Intel HEX 格式 以便在微控制器上闪烁 然而 当我添加此命令时 构建失败 它使用 shell 运行的所有替换的 CMake 变量字符串