首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >vc第三方库辅助管理工具vcpkg的安装使用

vc第三方库辅助管理工具vcpkg的安装使用

作者头像
xiny120
发布2019-06-11 10:53:49
6.8K0
发布2019-06-11 10:53:49
举报
文章被收录于专栏:毛毛v5毛毛v5

M$提供的c/c++第三方库集成工具:vcpkg

安装vcpkg很简单,直接从M$的git仓库:https://github.com/Microsoft/vcpkg.git 拉一下代码,然后编译就行了。

> git clone https://github.com/Microsoft/vcpkg.git
> cd vcpkg

PS> .\bootstrap-vcpkg.bat //如果是windows系统,运行这个
Linux:~/$ ./bootstrap-vcpkg.sh //linux运行这个。

编译安装好后,进行全局安装,安装后,以后所有的通过vcpkg install的第三方库,都是全局的。所有vc ide 实例共享

PS> .\vcpkg integrate install
Linux:~/$ ./vcpkg integrate install

C:\Devtools\project\git\vcpkg>vcpkg integrate install
Applied user-wide integration for this vcpkg root.

All MSBuild C++ projects can now #include any installed libraries.
Linking will be handled automatically.
Installing new libraries will make them instantly available.

CMake projects should use: "-DCMAKE_TOOLCHAIN_FILE=C:/Devtools/project/git/vcpkg/scripts/buildsystems/vcpkg.cmake"

然后,如果想安装三方库,直接使用:

PS> .\vcpkg install ffmpeg

然后vcpkg就自动配置,下载,编译库文件。等他编译完毕后,都设置到了全局的vs ide中,你要做的就是直接#include 库的头文件就行了。再也不需要神马库依赖神马的麻烦事了。

#ifdef __cplusplus  
extern "C" {
#endif  

#include <libavcodec/avcodec.h>
#include <libavformat/avformat.h>
#include <libavformat/avio.h>
#include <libavutil/file.h>

#ifdef __cplusplus  
}
#endif  

遥想不久之前要使用ffmpeg,自己下载代码,编译,配置,解决代码依赖。搞好几天都搞不完啊。现在vcpkg一键搞定。

PS>.\vcpkg list //这个命令可以列出已经安装的三方库。

.\vcpkg.exe search //这个命令可以列出vcpkg支持哪些三方库。

普普通通用用,这些就够了。

指定编译某种架构的程序库 如果不指定安装的架构,vcpkg默认把开源库编译成x86的Windows版本的库。那vcpkg总共支持多少种架构呢?我们可以使用如下命令便知:

.\vcpkg.exe help triplet
我们可以看到会列出如下清单:

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

这个清单以后随着版本的迭代还会再增加。vcpkg不仅支持x86架构,还支持arm架构。注意:这里的arm架构特指类似于surface这种运行在arm处理器上的Win10平台,而并非我们传统意义上的Linux或android的ARM平台。

那如果要安装编译某一个架构的开源库,我们该怎么写呢?我们只需要在需要安装的包后面指定相应的triplet即可。例如我们需要编译64位版本的jsoncpp,那么执行如下命令即可。

vcpkg install ffmpeg[gpl]:x86-windows-static
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019.04.11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • M$提供的c/c++第三方库集成工具:vcpkg
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档