Vcpkg的使用
一、安装Vcpkg
1. 下载 vcpkg,并在Window下安装
PS> git clone https://github.com/Microsoft/vcpkg.git
2. 编译vcpkg
PS> cd vcpkg
PS> .\bootstrap-vcpkg.bat
# Linux:~/$ ./bootstrap-vcpkg.sh
二、集成到系统环境
1. 集成到全局
.\vcpkg.exe integrate install
.\vcpkg.exe integrate remove
2. 集成到工程
.\vcpkg.exe integrate project
这时候会在“\scripts\buildsystems”目录下,生成nuget配置文件.
其中是指vcpkg实际所在目录。
打开Visual Studio,点击菜单“工具->NuGet包管理器->程序包管理器设置”,进入设置界面,点击“程序包源”
用Visual Studio 打开一个工程或解决方案。右键点击需要设置的工程,选择“管理NuGet程序包”。在右上角的“程序包源”中选择刚刚设置的“vcpkg”。这样在“浏览”选项卡中就可以看到“vcpkg.H.Repos.vcpkg”。点击最右侧的“安装”。这样就可以集成到某个工程了。
3. 集成到cmake
CMake projects should use:
"-DCMAKE_TOOLCHAIN_FILE=E:/third-parties/vcpkg/scripts/buildsystems/vcpkg.cmake"
三、Vcpkg常见命令
1. 列出已经安装的开源库
.\vcpkg.exe list
2. 列出要更新的库
.\vcpkg.exe update
3. 更新所有过期的库
.\vcpkg.exe upgrade
4. 查看Vcpkg支持的开源库列表
.\vcpkg.exe search
5. 安装一个开源库
.\vcpkg.exe install jsoncpp
注意:install经历以下过程:
- 环境初始化
- 下载源代码(如果已经在cache中,则不会下载)
- 校验文件有效性
- 解压缩源代码
- 利用配套工具配置源码工程,在这里是使用的是cmake(vcpkg会自动下载portable版本的cmake,下载慢,最好是下载最新版本的cmake)
- 编译源码。一般会同时编译Release和Debug版本。
- 把编译好的文件拷贝到相关目录中去(一般是installed目录)
6. 查看vcpkg支持的架构
.\vcpkg.exe help triplet
Available architecture triplets
VCPKG built-in triplets:
arm-uwp
arm64-windows
x64-linux
x64-osx
x64-uwp
x64-windows-static
x64-windows
x86-windows
VCPKG community triplets:
arm-mingw
arm-windows
arm64-mingw
arm64-uwp
x64-mingw
x64-osx-dynamic
x64-windows-static-md
x86-mingw
x86-uwp
x86-windows-static-md
x86-windows-static
7. 安装时指定编译某种架构的程序库(默认编译成x86windows版本的库)
.\vcpkg.exe install jsoncpp
8. 移除安装的库
.\vcpkg.exe remove jsoncpp
9. 移除过时的库
.\vcpkg.exe remove --outdated
10. 导出包(会在.\vcpkg.exe所在目录生成jsoncpp.zip文件)
.\vcpkg.exe export jsoncpp:x86-windows --zip --output=jsoncpp
11. 导入包
.\vcpkg.exe import jsoncpp.zip