Visual Studio¶
Visual Studio 的配方工具¶
Conan 提供了多种工具来帮助管理使用 Microsoft Visual Studio 的项目。这些工具可以从 conan.tools.microsoft
导入,并允许与 Microsoft Visual Studio 本地集成,而无需使用 CMake,而是直接使用 Visual Studio 解决方案、项目和属性文件。最相关的工具包括
MSBuildDeps:Microsoft MSBuild 构建系统的依赖信息生成器。它将生成多个
xxxx.props
属性文件,每个文件对应一个包的依赖项,供使用 MSBuild 或 Visual Studio 的消费者使用,只需将生成的属性文件添加到解决方案和项目即可。MSBuildToolchain:MSBuild 的工具链生成器。它将生成可以添加到 Visual Studio 解决方案项目中的 MSBuild 属性文件。此生成器将当前包配置、设置和选项转换为 MSBuild 属性文件语法。
MSBuild 构建助手是 MSBuild 命令行调用的包装器。它将诸如
msbuild "MyProject.sln" /p:Configuration=<conf> /p:Platform=<platform>
之类的调用抽象为 Python 方法调用。
有关 conan.tools.microsoft
下工具的完整列表,请查看参考部分。
Visual Studio 的 Conan 扩展¶
有一个扩展程序在 VisualStudio Marketplace 中可用,它与 Visual Studio 2022 版本及更高版本兼容。使用此扩展程序,您可以浏览 Conan Center 中可用的 Conan 包,将它们添加到您的项目中,它们将在构建项目之前自动安装。
注意
Visual Studio 扩展程序仅与基于 MSBuild 的 C/C++ 项目兼容。它不适用于基于 CMake 的项目或使用其他技术的项目。对于基于 CMake 的项目,请参阅 cmake-conan 依赖项提供程序。
安装¶
Conan Visual Studio 扩展程序可以直接从 Visual Studio 内安装
打开“扩展”菜单。
选择“管理扩展”。
在在线市场中搜索“Conan”。
下载并安装该扩展程序。
或者,您可以从我们的 发布页面 下载最新版本并手动安装。
初始配置¶
安装 Conan 扩展程序后,您可以从 Visual Studio 中的“Conan”工具窗口访问它。为此,请转到 视图 > 其他窗口 > Conan C/C++ 包管理器。

最初,您需要配置扩展程序要使用的 Conan 可执行文件。通过单击扩展程序窗口中的配置按钮(齿轮图标),您可以设置 Conan 客户端可执行文件的路径。您可以指定自定义路径,也可以选择使用系统级别安装的 Conan 客户端。

配置 Conan 客户端后,扩展程序即可使用,您可以开始向项目中添加库。
搜索和添加库¶
配置完成后,Conan 工具窗口中的库列表将变为活动状态,您可以使用搜索栏搜索 Conan 包。选择一个库将允许您查看其详细信息,包括可用版本和集成选项。

如果您现在单击“添加需求”按钮,扩展程序会将 conanfile.py 和 conandata.yml 添加到您的项目中,其中包含安装所选 Conan 包的必要信息。它还将向项目添加一个预构建事件,以便在下次编译项目时安装这些库。
在任何时候,您也可以使用刷新按钮(圆形箭头图标)来更新 Conan Center 中可用包的列表。
现在,如果您启动项目的构建过程,预构建事件将触发 Conan 安装包并将必要的属性注入到项目中,从而使 Visual Studio 能够编译这些库并与之链接。

警告
如果 Visual Studio 没有足够的时间来处理注入的属性,则初始编译可能会失败。如果发生这种情况,只需重新构建项目,它应该会成功构建。
有关 Conan Visual Studio 扩展程序的更深入介绍以及实际示例,请查看 Conan 博客中的这篇示例。
另请参阅
MSBuildDeps、MSBuildToolchain 和 MSBuild 的参考文档。