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

使用cmake --install时可执行文件未被安装到指定安装目录

问题根因

执行安装命令后找不到自定义的可执行文件,是因为CMakeLists.txt里没有为你自己声明的executionbackup目标配置安装规则。
CMake不会自动把add_executable定义的构建目标加入安装流程,你现在看到安装目录下生成的bin、include、lib三个文件夹,都是你引入的boost、cpr、nlohmann_json、spdlog这些依赖自带的安装规则生成的,和你自己写的可执行目标没有关系。

修复方案

在CMakeLists.txt中,完成executionbackup目标的声明、链接依赖、头文件配置之后,添加对应的install规则,指定可执行文件的安装路径:

install(TARGETS executionbackup
    RUNTIME DESTINATION bin
)

如果项目后续有自定义头文件、配置文件、资源文件需要随安装包分发,也可以通过补充install规则实现,比如安装公共头文件的参考写法:

install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/
    DESTINATION include
    FILES_MATCHING PATTERN "*.h" PATTERN "*.hpp"
)
操作验证

修改配置后按如下流程重新构建安装:

  1. 重新生成构建系统并完成编译
cmake -B build
cmake --build build
  1. 执行原安装命令
cmake --install build --prefix instdir --strip
  1. 进入instdir/bin目录即可找到编译生成的executionbackup可执行文件。
注意点

你之前配置的CMAKE_RUNTIME_OUTPUT_DIRECTORY参数,仅控制编译阶段生成的可执行文件在构建目录(也就是build文件夹)下的存放位置,和安装阶段的文件拷贝逻辑完全独立,二者作用不要混淆。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 10:12:20