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

Visual Studio 2022中CMake项目无法添加到指定文件夹的问题

问题:CMake无法将Visual Studio项目归类到指定文件夹

我正尝试用CMake创建Visual Studio 2022解决方案,想要将someexe项目放到exefolder文件夹中,但无论在项目自身的CMake配置还是解决方案级的CMake脚本里设置文件夹属性,项目都没能出现在目标文件夹里。

文件夹结构

root
├── someexe
│   └── CMakeLists.txt
└── scripts
    └── x64
        └── CMakeLists.txt

项目级CMake配置(someexe\CMakeLists.txt)

cmake_minimum_required(VERSION 3.28)
project(someexe)
add_executable(${PROJECT_NAME} ../main.cpp)

set_target_properties(someexe PROPERTIES FOLDER "exefolder")

解决方案级CMake配置(scripts\x64\CMakeLists.txt)

cmake_minimum_required(VERSION 3.10)
project(x64-Platform)
set(CMAKE_GENERATOR_PLATFORM x64)
add_subdirectory(../../someexe x64_someexe)

set_target_properties(someexe PROPERTIES FOLDER "exefolder")

解决办法

1. 统一CMake最低版本

顶层CMake要求的最低版本(3.10)远低于项目使用的3.28,版本差异可能导致属性设置不兼容。将顶层CMake的最低版本同步到3.28:

# 修改scripts\x64\CMakeLists.txt开头
cmake_minimum_required(VERSION 3.28)

2. 确保目标名称引用正确

在项目CMake中,用${PROJECT_NAME}代替硬编码的someexe,避免名称不一致问题:

# 修改someexe\CMakeLists.txt中的属性设置
set_target_properties(${PROJECT_NAME} PROPERTIES FOLDER "exefolder")

3. 清理CMake缓存重新生成

旧的CMake缓存可能保留无效设置,导致新配置不生效:

  • 关闭Visual Studio
  • 删除scripts\x64目录下的CMakeFiles文件夹和CMakeCache.txt文件
  • 重新打开解决方案,触发CMake重新生成

4. 全局预设项目文件夹

在顶层CMake中设置全局变量,为所有子项目统一指定文件夹,无需逐个项目配置:

# 在scripts\x64\CMakeLists.txt的add_subdirectory之前添加
set(CMAKE_FOLDER "exefolder")
add_subdirectory(../../someexe x64_someexe)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 20:20:06