You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CMake如何配置C源文件对.incbin嵌入的JS资源的编译依赖

解决方案

直接使用CMake的set_source_files_properties命令为目标C源文件添加OBJECT_DEPENDS属性即可,具体用法如下:

单个依赖文件配置

如果只需要绑定单个some_file.js依赖,在CMakeLists.txt中添加如下配置:

set_source_files_properties(source.c
    PROPERTIES OBJECT_DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/some_file.js"
)

注意用CMAKE_CURRENT_SOURCE_DIR拼接绝对路径,避免相对路径产生的歧义。

多个依赖文件批量配置

如果你有大量JS资源需要批量绑定,可以先收集所有资源路径再统一配置:

# 批量收集指定目录下的所有JS资源文件
file(GLOB_RECURSE JS_ASSETS
    "${CMAKE_CURRENT_SOURCE_DIR}/static/*.js"
)
# 给嵌入资源的C文件绑定所有JS资源依赖
set_source_files_properties(source.c
    PROPERTIES OBJECT_DEPENDS "${JS_ASSETS}"
)

配置效果

该属性会明确告知CMake:source.c编译生成的目标文件完全依赖于配置的JS资源,只要任意一个绑定的JS文件发生修改、时间戳更新,就会自动触发source.c的重新编译,不会牵连到其他无关的源文件,完全匹配你使用.incbin嵌入资源的场景需求。

内容的提问来源于stack exchange,提问作者gonzo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 01:39:03