vcpkg 使用

安装 vcpkg

  1. 安装 vcpkg:

    cd C:\
    git clone https://github.com/microsoft/vcpkg.git
    cd vcpkg
    .\bootstrap-vcpkg.bat
    
  2. 设置环境变量:

    # 设置 VCPKG_ROOT,VCPKG_DEFAULT_TRIPLET,VCPKG_DEFAULT_HOST_TRIPLET
    [System.Environment]::SetEnvironmentVariable("VCPKG_ROOT", "C:\vcpkg", "Machine")
    [System.Environment]::SetEnvironmentVariable("VCPKG_DEFAULT_TRIPLET", "x64-mingw-dynamic", "Machine")
    [System.Environment]::SetEnvironmentVariable("VCPKG_DEFAULT_HOST_TRIPLET", "x64-mingw-dynamic", "Machine")
    # 设置 Path
    $currentPath = [System.Environment]::GetEnvironmentVariable("Path", "Machine")
    $newPath = "%VCPKG_ROOT%;$currentPath"
    [System.Environment]::SetEnvironmentVariable("Path", $newPath, "Machine")
    

测试

编译一个 HelloWorld 项目验证 vcpkg 安装。

  1. 安装 MinGW-w64。

  2. 初始化项目:

    mkdir helloworld && cd helloworld
    vcpkg new --application
    vcpkg add port fmt
    
  3. 编辑 CMakeLists.txt:

    vim CMakeLists.txt
    
    cmake_minimum_required(VERSION 3.10)
    
    project(HelloWorld)
    
    find_package(fmt CONFIG REQUIRED)
    
    add_executable(HelloWorld helloworld.cpp)
    
    target_link_libraries(HelloWorld PRIVATE fmt::fmt)
    
  4. 编辑源码:

    vim helloworld.cpp
    
    #include <fmt/core.h>
    
    int main() {
        fmt::print("Hello World!\n");
        return 0;
    }
    
  5. 编辑 CMake 预设文件:

    vim CMakePresets.json  # 编辑项目级配置
    
    {
      "version": 2,
      "configurePresets": [
        {
          "name": "vcpkg",
          "generator": "MinGW Makefiles",
          "binaryDir": "${sourceDir}/build",
          "cacheVariables": {
            "CMAKE_TOOLCHAIN_FILE": "$env{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake",
            "VCPKG_TARGET_TRIPLET": "x64-mingw-dynamic"
          }
        }
      ]
    }
    
    vim CMakeUserPresets.json  # 编辑用户自定义配置
    
    {
      "version": 2,
      "configurePresets": [
        {
          "name": "default",
          "inherits": "vcpkg",
          "environment": {
            "VCPKG_ROOT": "C:\vcpkg"
          }
        }
      ]
    }
    
  6. 使用 CMake 配置生成:

    cmake --preset=default
    cmake --build build
    
  7. 运行程序:

    .\build\HelloWorld.exe
    

参考:通过 CMake 安装和使用包 | Microsoft Learn

PS:个人在轻度使用 vspkg 后,觉得不如 MSYS2 方便。比如我想安装 qtbase,发现它是从源码编译安装的。

posted @ 2025-07-20 05:28  Undefined443  阅读(24)  评论(0)    收藏  举报