You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

咨询:将C++ CMake项目转换为Visual Studio .vcxproj项目的可行方案

把CMake项目转换为Visual Studio .vcxproj文件的方法

嘿,这事儿其实CMake本身就自带解决方案,不用折腾第三方工具,我给你梳理几个靠谱的途径:

1. 用CMake命令行直接生成VS项目文件

这是最官方也最直接的方式,CMake原生支持生成对应版本的Visual Studio项目和解决方案文件。

推荐用VS自带的Developer Command Prompt(它已经配置好了VS的环境变量,避免很多路径问题),步骤如下:

  • 先建一个和源码目录分开的构建文件夹(比如叫build),避免把生成文件和源码混在一起:
    mkdir build && cd build
    
  • 运行CMake命令指定VS生成器,比如针对Visual Studio 2022 64位项目:
    cmake -G "Visual Studio 17 2022" -A x64 ..
    
    不同VS版本对应不同的生成器名称:
    • Visual Studio 2019: "Visual Studio 16 2019"
    • Visual Studio 2017: "Visual Studio 15 2017"
      -A x64是指定目标架构,你也可以换成Win32ARM64等适配你的项目。

执行完后,build目录里就会生成对应的.sln解决方案和.vcxproj项目文件,直接用VS打开.sln就能开始编辑编译了。

2. 用CMake图形界面(cmake-gui)生成

如果不习惯命令行,cmake-gui操作更直观:

  • 打开cmake-gui,点击Browse Source选择你的CMake项目根目录(就是放CMakeLists.txt的文件夹)
  • 点击Browse Build选择刚才创建的build目录(或者新的空目录)
  • 点击Configure,在弹出窗口里选对应的Visual Studio版本和架构,点Finish等待配置完成
  • 最后点击Generate,就能在构建目录里拿到VS项目文件了

3. 通过Visual Studio直接导出CMake项目为.vcxproj

要是你已经用VS 2017及以后版本打开了CMake项目(VS支持直接打开CMakeLists.txt),可以直接导出成永久的.vcxproj文件:

  • 在VS的解决方案资源管理器里,右键点击你的CMake项目
  • 选择Export to Project Files...(不同VS版本 wording 可能略有不同,比如“导出CMake项目到Visual Studio项目文件”)
  • 跟着向导选好导出路径,就能得到独立的.vcxproj和.sln文件

关于后续给项目完善CMake支持

对了,如果你是想基于生成的.vcxproj再优化CMake支持,其实可以用CMake的include_external_msproject命令把VS项目集成到CMake构建系统里——这样团队里用VS的同事可以直接编辑.vcxproj,用CMake的也能通过构建系统跨平台编译。比如在你的CMakeLists.txt里加:

include_external_msproject(MyVSProject path/to/MyVSProject.vcxproj)

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

火山引擎 最新活动