C++|使用VS2022和WSL2开发和调试C++代码( 二 )



5. 现在 , 你应该可以看到一个下拉菜单 , 可以从中选择活动的目标系统 。 这个系统将会用来配置和构建工程 。 Visual Studio会使用wsl -l -v来查询WSL安装状态 , 在下面的例子中 , 我选择的目标系统是 WSL2: Ubuntu-20.02 , 如下图所示:

请注意:如果Visual Studio开始自动的配置你的工程 , 请阅读下面的第9个步骤来处理CMake二进制部署 , 然后回到第6个步骤 。
6. 使用下图中的下拉菜单来选择活动的Preset配置 。 Preset配置用来告诉Visual Studio , 如何引入CMake工具和生成底层的构建系统 。 在上面的第5个步骤中 , 我使用的是Visual Studio中自动生成 的linux-default配置 。 如果你希望创建一个自定义的Preset配置 , 则可以选择”Manage Configurations…”菜单 , 如下图所示:

7. 使用右边的菜单来选择活动的构建Preset 。 构建Presets用来告诉Visual Studio如何调用构建工具 。 在上面的第5个步骤中 , 我使用了Visual Studio创建的默认配置 。
8. 在WSL2中配置工程 。 如果工程构建没有自动开始 , 则可以通过点击 工程 > 配置工程进行手动启动 , 如下图所示:

9. 如果你没有在WSL2发行版上安装CMake , 则Visual Studio会提示你需要安装一个CMake的最新版本 。 请点击下图中的Yes来将CMake二进制文件部署到目标WSL2系统 。

【C++|使用VS2022和WSL2开发和调试C++代码】10. 确认配置步骤完成 , 你可以在CMake的输出窗口中看到CMake生成完成的信息 。 请注意 , 工程编译生成的二进制文件都会复制到WSL2目标系统 。

11. 选择活动的调试目标 。 调试下拉菜单将会列出所有可用的CMake目标 , 如下图所示:

12. 设置断点 。 在解决方案管理器中展开项目子目录 , 然后在main函数中设置一个断点 。 你也可以通过点击解决方案中国的选择按钮来导航到CMake目标视图 , 如下图所示:

13. 点击调试 > 开始 , 或者点击F5按钮 。 你的工程将会开始构建 , 生成的二进制文件将会在WSL2发行版上启动 , 然后你设置的断点将会被触发 , 如下图所示:

在WSL2发行版中进行MSBuild工程开发在Visual Studio中进行C++跨平台开发时 , 我们推荐使用CMake , 因为开发者可以在Windows , WSL和远程系统上构建和调试相同的工程代码 。 如果你已经使用了MSBuild开发了一个Linux工程 , 则你可以在下图中的设置界面中进行升级 , 设置路径:属性页 > 常规 > 平台工具集

总结WSL2工具集和CMake Presets集成 , 目前还是处于预览版 , 但老大哥依然在努力 。
我还是能看到的 。
最后Microsoft Visual C++团队的博客是我非常喜欢的博客之一 , 里面有很多关于Visual C++的知识和最新的开发进展 。 大浪淘沙 , 如果你对Visual C++这门古老的技术还是那么感兴趣 , 则可以经常去他们那(或者我这)逛逛 。
本文来自:《Build and Debug C++ with WSL 2 Distributions and Visual Studio 2022》