dll文件中static_vcpkg——Cpp中的包管理神器
发布日期:2021-06-24 12:49:50 浏览次数:2 分类:技术文章

本文共 1409 字,大约阅读时间需要 4 分钟。

b9dd05cc025f801b027bb4f94fb421e5.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">节点,在里面添加

x86-windows-static
x64-windows-static

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

转载地址:https://blog.csdn.net/weixin_32825467/article/details/113067042 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:mysql数据库读取文件_安卓读取mysql数据库文件
下一篇:用python绘制太阳花_用 Python 绘制数据的7种最流行的方法 | Linux 中国

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年04月22日 18时38分20秒