vcpkg使用备忘(用于跨平台开发插件)

参考:https://blog.csdn.net/cjmqas/article/details/79282847

1、cmake安装(安装最新的msi文件) https://cmake.org/download/

2、ninja安装(安装最新的)

3、vcpkg安装(可在国内码云上下载)

https://devblogs.microsoft.com/cppblog/vcpkg-a-tool-to-acquire-and-build-c-open-source-libraries-on-windows/ 

1、下载vcpkg之后,将其解压到c盘

2、cmd执行bootstrap-vcpkg.bat 文件,之后会在目录下生成vcpkg.exe文件。vcpkg.exe文件是之后所有操作的根本。

3、各个命令解释

3.1,查看Vcpkg支持的开源库列表:

vcpkg.exe search

3.2,安装一个开源库:

vcpkg.exe install dlfcn-win32

3.3,指定编译某种架构的程序库

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

vcpkg.exe help triplet

3.4,安装编译某一个架构的开源库

vcpkg.exe install dlfcn-windows:x64-windows

3.5,移除一个已经安装(编译)的开源库

vcpkg.exe remove dlfcn-win32

注意:

  • 这个时候只是移除了默认的x86-winodws版本的文件,如果有其他平台的版本需要移除,需要制定相应的triplet。
  • 移除也只是移除了二进制程序库而已,源码包和解压缩的源码并没有删除。

3.6,如果想要一键移除“过时”的包,执行命令:

vcpkg.exe remove --outdated

3.7,列出已经安装的开源库

vcpkg.exe list

3.8,更新已经安装的开源库

有两种更新方式。一个是update指令,可以显示可以升级的开源库的列表。另一个是upgrade的指令,会重新编译所有需要更新的包。

4、Vcpkg和Visual Studio的集成

4.1. 什么是集成?

上面我们已经安装了一些第三方库,那如何使用呢?常规情况下,我们需要设置include目录、lib目录等,会有很多工作量。Vcpkg提供了一套机制,可以全自动的适配目录,而开发者不需要关心已安装的库的目录在哪里,也不需要设置。这是Vcpkg的一大优势。

4.2. 集成到全局

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

vcpkg integrate install

当出现“Applied user-wide integration for this vcpkg root.”字样的时候,说明已经集成成功。这时候可以在任意的工程中使用安装好的第三方库。

4.3. 移除全局集成

移除全局集成只要执行下列命令即可:

vcpkg integrate remove

4.4. 集成到工程

上面已经可以集成到全局,为什么还要“集成到工程”呢?因为在大部分情况下,我们不希望集成到全局,毕竟有很多第三方库我们希望自定义处理一下,或者干脆不想集成第三方库。那么集成到工程是最灵活的处理方式。也是工程级项目推荐的处理方式。

“集成到工程”是整个vcpkg中最复杂的一项,它需要利用Visual Studio 中的nuget插件来实现。我们接下来一步一步来说。

4.4.1. 生成配置:

执行命令:

vcpkg integrate project

这一步之后会在“vcpkg安装目录\scripts\buildsystems”目录下,生成nuget配置文件.vcpkg.C.vcpkg.1.0.0.nupkg

4.4.2,基本配置

打开Visual Studio,点击菜单“工具->NuGet包管理器->程序包管理器设置”,进入设置界面,点击“程序包源”。

点击“加号”增加一个源。修改源的名字为vcpkg。在“源”的选项中点击右侧的"…"选择vcpkg目录下的“scripts\buildsystems”目录,然后点击右侧的“更新按钮”。

点击“确定”,关闭设置对话框。

到此,全局性的设置已经完成,以后不必再重复设置了。

4.4.3工程配置

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

遇到的问题:

我在#include "dlfcn.h"时,会提示找不到相关的头文件,这个时候把管理器选择为Release就可了,比较神奇。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值