添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
首发于 C++

[工具]包管理工具Vcpkg 的使用

vcpkg是Microsoft的跨平台开源软件包管理器,极大地简化了 Windows、Linux 和 macOS 上第三方库的购置与安装。如果项目要使用第三方库,建议通过 vcpkg 来安装它们。vcpkg 同时支持开源和专有库。

Microsoft中对它的具体介绍:

docs.microsoft.com/zh-c

1、安装

a. 获取Vcpkg

Vcpkg的官方源码站点为: github.com/microsoft/vc

git clone https://github.com/microsoft/vcpkg

b.编译Vcpkg

Windows平台:在cmd中执行Vcpkg工程目录下的“bootstrap-vcpkg.bat”命令,编译好后会在同级目录下生成vcpkg.exe文件。

Linux平台:在命令行中执行在vcpkg工程目录下“sudo bash ./ bootstrap-vcpkg.sh”命令,会生成一个可执行文件vcpkg。定义环境变量 VCPKG_ROOT="/vcpkg"

2、使用Vcpkg管理库(以windows平台为例)

a.查看Vcpkg支持的库

.\vcpkg.exe search

b.安装一个库(以eigen3为例)

.\vcpkg install eigen3       
注:可以用 eigen:x86-windows或eigen:x64-windows指定安装的版本,可以使用的版本还包括 
x64-windows-static x64-windows x86-windows-static x86-windows.若不指定默认为32位;
添加环境变量 `VCPKG_DEFAULT_TRIPLET=x64-windows` 可使默认集成位64位

可以使用 ./vcpkg help triplets 查看支持的平台。

c.查看已经安装的开源库

.\vcpkg.exe list

d.移除一个已经安装的库

.\vcpkg.exe remove egien3

3、集成使用

a. 集成到全局。Vcpkg提供了一套机制,可以全自动的适配目录,而开发者不需要关心已安装的库的目录在哪里,也不需要设置。

.\vcpkg integrate install

“Applied user-wide integration for this vcpkg root.”表示集成成功。这时候可以在Visual Studio 任意的工程中使用安装好的第三方库。

若要移除集成

.\vcpkg integrate remove

此时与CMake一起使用时,需添加依赖以及在设置路径(具体使用的方法在集成和安装库时会有说明)


需要注意的点:

若在windows平台上使用CLion+Mingw+Vcpkg使用时需要在CMakeLists.txt中添加如下语句:

if(DEFINED ENV{VCPKG_DEFAULT_TRIPLET} AND NOT DEFINED VCPKG_TARGET_TRIPLET)
    set(VCPKG_TARGET_TRIPLET "$ENV{VCPKG_DEFAULT_TRIPLET}" CACHE STRING "")
endif()

stackoverflow.com/quest

模板如下:

cmake_minimum_required (VERSION 3.15)
SET(CMAKE_TOOLCHAIN_FILE "D:/VS/vcpkg/scripts/buildsystems/vcpkg.cmake")
# 上述语句等价于 cmake -CMAKE_TOOLCHAIN_FILE = D:/VS/vcpkg/scripts/buildsystems/vcpkg.cmake
if(DEFINED ENV{VCPKG_DEFAULT_TRIPLET} AND NOT DEFINED VCPKG_TARGET_TRIPLET)
    set(VCPKG_TARGET_TRIPLET "$ENV{VCPKG_DEFAULT_TRIPLET}" CACHE STRING "")
endif()
# 项目名称
project (LM_Tutorial)
# 寻找添加的库