在 Clion 中使用 vcpkg 包管理器

发布时间 2023-04-19 17:19:58作者: 希川

在 Clion 中使用 vcpkg 包管理器

0、前置条件:

  1. Win7 or 更新的版本
  2. 安装 Git
  3. 安装 Visual Studio 2015 Update 3 或更新的版本(不需要完整安装,只需要安装好调试器以及编译器)

一、安装vcpkg

  1. 去官方 GitHub 仓库下载项目:git clone https://github.com/microsoft/vcpkg
  2. 执行项目中的 bootstrap.bat脚本。官方_建议:您可以将 vcpkg 安装在任何笛梵个,但是通常我们建议宁使用 vcpkg 作为 CMake 项目的子模块,并将其全局安装到 Visual Studio 项目中。我们建议您使用例如 __C:\src\vcpkg__或 __C:\dev\vcpkg_的安装目录,否则您可能遇到某些库构建系统的路径问题。

二、使用 vcpkg

  1. 安装项目所需要的库:
    • .\vcpkg\vcpkg install [packages to install]
  2. vcpkg 在 Windows 中默认编译并安装 x86 版本的库。如果要编译并安装 x64 版本,需要在安装命令执行时带上x64-windows
    • .\vcpkg\vcpkg install [package name]:x64-windows
    • .\vcpkg\vcpkg install [package name] --triplet=x64-windows
  3. 使用 search子命令,查找 vcpkg 中集成的库
    • .\vcpkg\vcpkg search [search term]

三、在 CLion 中使用 vcpkg

  1. 打开 Toolchains设置(按下快捷键,输入: Toolchains)
  2. CMake options中添加以下行:
    • -DCMAKE_TOOLCHAIN_FILE=[vcpkg root]/scripts/buildsystems/vcpkg.cmake
  3. 例如当我们使用 vcpkg 安装了 crow库以后,会打印使用方法如:find_package(...), target_link_libraries(...),需要我们把它拷贝到 CMakeList.txt 中使用:
PS C:\source-code\dev\vcpkg>.\vcpkg.exe install crow
crow provides CMake targets:

    # this is heuristically generated, and may not be correct
    find_package(Crow CONFIG REQUIRED)
    target_link_libraries(main PRIVATE Crow::Crow)
  1. 在 CMakeList.txt 中使用:
cmake_minimum_required(VERSION 3.0)
project(project_name)

set(CMAKE_CXX_STANDARD 14)

find_package(crow REQUIRED)

add_executable(project_name main.cpp)
# 通过静态库的方式使用 crow
target_link_libraries(project_name PRIVATE crow::crow)

四、将 vcpkg 作为一个子模块

当您希望将 vcpkg 作为一个子模块加入到您的工程中时,您可以在第一个 project() 调用之前将一下内容添加到 CMakeLists.txt 中,而无需将 CMAKE_TOOLCHAIN_FILE传递给 CMake 调用。

set(CMAKE_TOOLCHAIN_FILE "${CMAKE_CURRENT_SOURCE_DIR}/vcpkg/scripts/buildsystems/vcpkg.cmake"
  CACHE STRING "Vcpkg toolchain file")