vcpkg的安装、使用以及集成

一、windows下安装vcpkg

使用git 克隆官方的 git 仓库:

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

使用 PowerShell 进入到仓库中,编译 vcpkg

cd vcpkg
./bootstrap-vcpkg.bat

vcpkg就编译完成啦!

二、使用vcpkg

  1. 查看vcpkg支持的开源库列表(使用 PowerShell 执行)

    ./vcpkg.exe search
    
  2. 安装一个开源库

    查看支持编译的架构

    ./vcpkg.exe help triplet
    

    如果要安装编译某一个架构的开源库,在需要安装的库后面指定相应的 triplet 即可。
    例如编译安装 64 位 Windows 版本的 laszip使用下面命令即可。

    ./vcpkg.exe install laszip:x64-windows
    

    如果要安装的库依赖别的库,不用担心,vcpkg会进行依赖关系检查(比如编译 libcurl,会自动下载 zlib、openssl 进行编译)。

    查看所有已经安装好的库

    ./vcpkg.exe list
    
  3. 移除一个已经安装的开源库
    使用remove 指令即可。
    比如我们要移除 laszip,那么执行如下命令:

    ./vcpkg.exe remove laszip
    

    注意:

    这个时候只是移除了安装的二进制程序库而已,源码包和解压缩的源码并没有删除。
    如果想要一键移除所有的“过时”的源码包,执行命令:

    ./vcpkg.exe remove --outdated
    
  4. 更新已经安装的开源库
    update 指令,可以显示可以升级的开源库的列表。 upgrade 的指令,会重新编译所有需要更新的包。

    ./vcpkg.exe update	显示用于更新的包列表
    ./vcpkg.exe upgrade	重新生成所有过期包
    
  5. 导出与导入
    导出参数格式:–raw 以不打包的目录格式导出,–nuget 以 nuget 包形式导出,–zip 以 zip 压缩包形式导出,–7zip 以 7z 压缩包形式导出

    ./vcpkg.exe export laszip:x64-windows --zip
    

    默认导出在vcpkg目录下,如果要指定输出目录和特定文件名,需使用 “–output=” 参数。

    导入就比较简单啦

    ./vcpkg.exe import laszip.zip
    

三、vcpkg和Visual Studio的集成

vcpkg 仅支持 Visual Studio 2015 update 3 及以上版本,目前 Vcpkg 编译静态库,默认只支持 MT 模式。

全局集成与移除

  1. 全局集成
    适用于 Visual Studio 开发环境和 msbuild 命令行。执行命令:

    ./vcpkg.exe integrate install
    
  2. 移除全局集成

    ./vcpkg.exe integrate remove
    

集成到某个工程

需要利用 Visual Studio 中的 nuget 插件来实现。vcpkg 默认编译链接的是动态库。

  1. 生成配置
    执行命令:

    ./vcpkg.exe integrate project
    

    这时候会在 <vcpkg_dir> 目录下,生成 nuget 配置文件。其中 <vcpkg_dir> 是指 vcpkg 实际所在目录。

  2. 基本配置
    用 Visual Studio 打开一个工程或解决方案。右键点击需要设置的工程,选择 “管理NuGet程序包”然后点击设置。
    在这里插入图片描述
    选择程序包源点击 “加号” 增加一个源。修改源的名字为 vcpkg。在“源”的选项中点击右侧的 “…” 选择 vcpkg 目录,然后点击右侧的“更新按钮”。点击 “确定”,关闭设置对话框。
    在这里插入图片描述
    到此,全局性的设置已经完成,以后不必再重复设置了。

  3. 工程配置
    用 Visual Studio 打开一个工程或解决方案。右键点击需要设置的工程,选择 “管理NuGet程序包”。在右上角的 “程序包源” 中选择刚刚设置的 “vcpkg”。这样在 “浏览” 选项卡中就可以看到了,如下图所示。点击最右侧的 “安装”。这样就可以集成到某个工程了。
    在这里插入图片描述

上面默认是动态库,若是在 Visual Studio 中集成静态库,需要用文本方式打开 vcxproj 工程文件。
在 xml 的段里面增加如下两句话即可:

<VcpkgTriplet>x64-windows-static</VcpkgTriplet>
<VcpkgEnabled>true</VcpkgEnabled>

四、集成到CMake

在 cmake 中集成只要在 cmake 文件中加入下面这句话即可(动态库)。

cmake .. -DCMAKE_TOOLCHAIN_FILE=<vcpkg_dir>/scripts/buildsystems/vcpkg.cmake

在 CMake 中集成静态库,需要额外指令:

cmake .. -DCMAKE_TOOLCHAIN_FILE=<vcpkg_dir>/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows-static
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值