vcpkg安装_vcpkg——Cpp中的包管理神器

194fd0f09a7e8a3b711ff601bb95186a.png

用过python的小伙伴肯定知道python有个非常好用的包管理工具pip,很简单的一行命令就可以下载我们需要的第三方库。

pip install requests  #下载requests库

最近手上有个cpp的项目,需要用到一些开源库,例如spdlog,查了一下cpp有没有类似于pip的管理工具,于是找到了vcpkg,vcpkg可以帮助我们在Windows、Linux和MacOs上管理C和C++库。

接下来介绍一下如何安装使用vcpkg并集成到Visual Studio开发环境。

vcpkg依赖PowerShell-core与CMake,虽然在编译vcpkg的时候会自动检测并下载,奈何速度实在太慢,因此建议先手动下载安装。

PowerShell与CMake安装完成后,先从git把vcpkg源码clone到我们本地。

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

接着进入vcpkg文件夹

cd vcpkg

运行vcpkg的编译脚本,可以说很贴心了

.bootstrap-vcpkg.bat

编译成功后会在vcpkg文件夹里生成一个vcpkg.exe程序,到这里vcpkg就算安装成功了。

我们现在可以使用

.vcpkg.exe install xxx

命令来安装需要的库了,是不是跟pip很像,简单暴力易上分。但是要注意一点,C和C++的库是需要本地编译的,vcpkg默认的编译方式是x86动态库,对应Visual Studio中生成方式多线程DLL(MD),可以通过

.vcpkg.exe help triplet

命令查看vcpkg支持的编译方式

  arm-uwp
  arm-windows
  arm64-uwp
  arm64-windows
  x64-linux
  x64-osx
  x64-uwp
  x64-windows
  x64-windows-static
  x86-uwp
  x86-windows
  x86-windows-static

可以看到支持的编译模式有很多,我自己的项目需要的是x86的静态编译模式,因此我安装的命令是

.vcpkg.exe install spdlog:x86-windows-static

对应的代码生成方式是多线程(MT)

安装完成后可以通过

.vcpkg.exe list

来查看已经安装的开源库

当然这还远远没有结束,我们还需要把vcpkg安装的库集成到Visual Studio的开发环境,我们需要运行

.vcpkg integrate install

如果我们想分离vcpkg与Visual Studio开发环境则是运行

.vcpkg integrate remove

上述方法是全局集成,所有的项目皆可访问vcpkg安装的库,项目集成等我用到了再写叭。

如果安装的库不是以静态编译的,那VS+vcpkg的整合到这里就已经结束了。不过我使用了静态编译,因此还需要多一步配置,找到VS项目文件xxxx.vcxproj,打开后找到<PropertyGroup Label="Globals">节点,在里面添加

<VcpkgTriplet Condition="'$(Platform)'=='Win32'">x86-windows-static</VcpkgTriplet>
<VcpkgTriplet Condition="'$(Platform)'=='x64'">x64-windows-static</VcpkgTriplet>

保存后重新加载项目,至此才算完成了VS+vcpkg的整合。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值