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

CMake自定义构建目录配置:如何指定exe输出路径?

如何通过CMakeLists.txt设置自定义的可执行文件构建目录

当然可以通过CMakeLists.txt完全解决这个问题,核心是利用CMake提供的输出目录控制变量,以下是具体实现方式:

全局配置(所有可执行文件生效)

在你的CMakeLists.txt的project()指令之后添加以下配置:

# 设置全局可执行文件的基础输出目录
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)

# 针对Release/Debug等不同配置单独指定目录
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_BINARY_DIR}/bin/Release)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_BINARY_DIR}/bin/Debug)
  • ${CMAKE_BINARY_DIR}是CMake自动识别的构建根目录(即你执行cmake命令的目录)
  • 配置后,Release模式下编译出的exe会自动生成到bin/Release目录下,Debug模式则对应bin/Debug

单个目标配置(仅指定可执行文件生效)

如果你只想让某个特定的可执行文件输出到自定义路径,可在add_executable()指令之后添加:

add_executable(my_exe main.cpp)

# 为该目标设置输出目录
set_target_properties(my_exe PROPERTIES
    RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin
    RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_BINARY_DIR}/bin/Release
    RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_BINARY_DIR}/bin/Debug
)

验证效果

配置完成后,你依然可以使用原来的构建命令:

cmake --build . --config Release

执行后就能在bin/Release目录下找到my_exe.exe(Windows平台)或my_exe(Linux/macOS平台)。

注意事项

  • 如果你使用的是单配置生成器(比如Makefile),需要先通过CMAKE_BUILD_TYPE指定构建类型,再设置对应目录:
    set(CMAKE_BUILD_TYPE Release)
    set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin/Release)
    
  • 确保CMake版本在2.8.12及以上,这些变量在该版本后得到了稳定支持。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 15:45:57