为了帮助您管理项目的依赖和外部库,CLion与vcpkg集成在一起,vcpkg是一个用于C/C++的包管理器。

当前的限制:

  • 完整的vcpkg功能对CMake项目是可用的。对于其他项目格式,只支持浏览和安装包。
  • 支持的工具链为除Windows Cygwin、WSL、Docker和Remote之外的所有工具链。

可以在CLion跟踪器中的相应票证上查看已知问题。

安装vcpkg

vcpkg将会安装到您的系统中。您可以安装多个vcpkg实例,每个实例都有不同的包集合。

此外,您可以将多个项目链接到一个vcpkg仓库。

  1. 从主菜单中选择 View | Tool Windows | Vcpkg,以打开 Vcpkg 工具窗口。
  2. 点击 App general add
    1.png
  3. 在添加vcpkg对话框中指定安装设置:
    2.png

    • 您的vcpkg仓库的名称和URL。
    • 安装目录(或使用默认值)。如果您已经安装了vcpkg,请在此字段中提供其位置的路径。
    • 将vcpkg集成添加到现有的CMake配置文件中

    CLion使用CMake工具链文件与vcpkg集成。选择您希望将工具链文件链接到的CMake配置文件。

    安装完成后,您可以在所选配置文件的CMake选项中找到添加的工具链文件,该选项通过 CMAKE_TOOLCHAIN_FILE 变量进行设置。

  4. 点击"确定"并等待安装完成。

    • 包列表将出现在中间面板中。在右侧面板中,您可以找到所选包的描述和操作。
      3.png

如果vcpkg没有链接到任何配置文件,您会看到它被置灰。使用"编辑vcpkg"对话框(App actions edit dark)将其链接到配置文件。

4.png

浏览和安装包

尚未实现选择特定版本的选项(CPP-32366)。只能安装最新版本的包。

  1. 要查找特定的包,请在搜索字段中开始键入其名称:
    5.png
  2. 选择包,然后按Enter键或单击右侧面板中的"安装"。
  3. 在经典模式下,如果成功安装了包,CLion将提示您将其添加到 vcpkg.json 并切换到清单模式:
    6.png
  4. 您可以在 "已安装" | 经典模式或 "已添加" | 清单模式下找到已安装的包。

经典模式显示仓库中的所有包,而清单模式显示添加到 vcpkg.json 中的包。

  • 经典模式
    7.png
  • 清单模式
    8.png

切换到清单模式

如果项目根目录下有 vcpkg.json 文件,CLion将自动切换到清单模式。

请注意,经典模式和清单模式是互斥的。

  1. 点击"切换到清单模式"按钮:
    9.png
  2. 选择要添加到 vcpkg.json 中的包:
    10.png
  3. CLion将创建一个 vcpkg.json 文件,添加包并将项目切换到清单模式:
    11.png

检查控制台输出

控制台:vcpkg 是一个只读标签,显示所有 vcpkg 命令及其完整输出。

12.png

使用上箭头和下箭头在命令之间跳转:

13.png

  • 当发生错误时,例如在安装包时,CLion会显示一个通知消息。点击"显示输出"以打开控制台标签并查看问题。
    14.png
  • 您可以随时在使用vcpkg时切换到控制台标签。通过"显示控制台"按钮,也可以访问此标签。
    15.png

安装/移除多个包

  1. 在树中选择多个包。
  2. 使用以下快捷键:

    • 要安装或添加到 vcpkg.json,按Enter键。
    • 要移除,按Alt+Delete / ⌘⌫。

开始使用包

包应该添加到 CMakeLists.txt 中。对于大多数包,vcpkg提供了应包含在CMake脚本中的代码。

  1. 如果vcpkg有提示,您会在通知中看到"添加包到 CMakeLists.txt"选项:
    16.png
  2. 将建议的代码复制到您的 CMakeLists.txt 文件中。如果需要,将目标链接名称(默认为 main)更改为您希望包链接到的名称。
    17.png

更新vcpkg和包

对于更新和升级,使用以下工具窗口操作:

  • "更新所有" 更新vcpkg Git仓库到最新版本,然后检查是否有可用的包更新。
    18.png
  • "升级所有" 更新vcpkg Git仓库到最新版本,然后将所有已安装的包更新到其最新版本。
    19.png
  • "检查更新"(三个点的图标菜单)检查vcpkg Git仓库是否有更新的版本。
  • "更新仓库"(三个点的图标菜单)检查当前版本的vcpkg Git仓库是否有可用的包更新。
  • "升级仓库"(三个点的图标菜单)检查当前版本的vcpkg Git仓库是否有可用的包更新,并将其安装。
  • "更新vcpkg仓库"(三个点的图标菜单)将vcpkg Git仓库更新到最新版本。

自动更新仓库

  • 在工具栏上点击 App expui general settings,然后选择"重启IDE时自动更新仓库"选项,允许CLion在每次IDE重启时检查仓库更新。
    20.png

使用快速修复添加缺失的包

  • 如果在编辑器中包含了尚未安装的包的头文件,编译将因文件未找到错误而失败。在错误消息旁边点击"修复":
    21.png

    • CLion将建议安装缺失的包:
      22.png
  • 如果有多个候选项可供安装,可以从"修复"菜单中打开列表:
    23.png

    • 在对话框中选择要安装的包:
      24.png

对于未链接到包管理器的配置文件,修复也是适用的。

强制使用系统的CMake和Ninja

您可以通过配置文件环境来强制vcpkg使用来自系统的CMake和Ninja。

  1. 点击左侧面板上的"编辑vcpkg"按钮:
    25.png
  2. 展开高级设置部分,并设置"使用系统二进制文件"复选框:
    26.png

已知问题和限制

  • 目前,vcpkg支持不适用于以下工具链:Cygwin(CPP-31665),Remote(CPP-30683),Docker(CPP-30684)和WSL(CPP-30685)。
  • 编辑器中用于缺失包的快速修复正在开发中(CPP-31662)。

在CLion中,您还可以使用Conan,这是一个通过第三方Conan插件(由JFRog维护)来使用的包管理器。目前该插件没有在积极开发中。

标签: clion破解, clion破解教程, clion教程, clion基础教程, clion高级教程, clion核心教程, clion免费激活码, clion免费注册码, clion注册码在线生成, clion激活