使用CMake构建时能否禁用自动生成.sln解决方案文件?
能否禁用CMake自动生成.sln解决方案文件
无法直接禁用该行为。Visual Studio生成器是CMake针对VS平台的专属生成逻辑,生成顶层.sln文件是该生成器的内置固定流程,官方没有提供任何配置开关可以关闭.sln的输出。
能否将CMake生成的.vcxproj导入自定义的已有.sln
该需求可以实现,操作方法如下:
- 建议先将CMake的生成输出目录设置为独立的子文件夹(比如
build/),避免CMake自动生成的.sln和你手动创建的.sln路径冲突,也方便管理编译中间文件 - 正常执行CMake生成命令,拿到目标项目对应的.vcxproj文件,忽略CMake自动生成的.sln即可
- 打开你手动创建的已有.sln,右键解决方案节点,依次选择添加 -> 现有项目,选中CMake生成的.vcxproj文件完成导入
- 你可以按需导入CMake生成的多个子项目.vcxproj,导入后完全可以和解决方案内的其他原有项目一起分组管理,操作逻辑和普通手动创建的VS项目完全一致
注意事项
- 不要手动修改导入的.vcxproj的项目配置,所有编译参数、依赖项设置都统一在CMakeLists.txt中修改,重新运行CMake后.vcxproj的配置会自动更新,不需要重复导入到解决方案
- 只要CMake配置中的项目名、生成路径不做修改,已导入到自定义.sln的项目引用就不会失效
内容的提问来源于stack exchange,提问作者Rafaelplayerxd YT
相关产品推荐
相关产品推荐

