vcpkg在clion和vs2022上的使用

clion中使用

vcpkg配合vs的编译套件使用!!!,使用mingw特别出错!!!,还是老老实实使用msvc编译吧,以下都是基于msvc

一.添加一个vcpkg

可以通过左侧栏添加,也可以双击shift 搜索vcpkg添加
在这里插入图片描述
注意:add vcpkg integration to existing profiles要勾选上,不然项目使用不了
在这里插入图片描述
通过以上步骤,它就会从GitHub上面下载vcpkg,这里看个人网络问题,可能会失败,如果网络不好的话,就会下载失败(主要它是下一半才失败,太搞心态了,受不了一点,我都不知道下了几次,家人们谁懂啊),如果好的话一下子就好了。

同时,通过以上步骤,他还会在cmake上面添加一个脚本,用于在运行前安装和编译库
在这里插入图片描述

二.安装库

vcpkg一个有两种模式,一种是经典模式,另一种是清单模式 ,通过清单模式,我们可以在运行时使用当前项目的编译器编译库文件,这样就不会存在什么编译器差异,系统差异什么的,而经典模式就会出现差异的问题,所有推荐使用清单模式。

1.选择清单模式

在这里插入图片描述
如果之前有下载过别的库,可以选择添加的库,选择的这些库将放到一个json文件中,这里我什么都不添加,直接点确定
在这里插入图片描述

如果不出意外,那就好显示成功,但凡是就有例外,还总让我碰到,难搞…(如果你创建的vcpkg是直接再终端上使用git clone …拉取创建的就会出现问题,如第二张图,解决办法是直接再clion上按我前面的步骤创建一个新的vcpkg,不要使用终端上面创建的)
在这里插入图片描述
在这里插入图片描述
二:添加库 (这里以lunasvg库为例)
搜索lunasvg库,然后点击add to vcpkg.json,就会自动添加到json文件了
在这里插入图片描述
这样就成功了,但是你会发现,他没有没你使用方法!!!,也是我一顿乱摁才发现解决方法的(其实还有一直方法,就是在终端中再安装一边库,就能看见使用方法了)
在这里插入图片描述
点击cmake,再点击add event tracing cmake options,就出来了
在这里插入图片描述
将这两行代码添加到cmakelists.txt中,注意更改项目名字,这里的项目名字默认为main
在这里插入图片描述
然后重新加载cmakelist文件,这时你会发现,还是报错,惊不惊喜,意不意外!!!
解决方案时将原来的build不了删除,再重新加载cmakelist文件,这样就解决了
在这里插入图片描述
这样就能使用了!!!
在这里插入图片描述

在vs2022中使用

1.经典模式

(这个就简单很多了,但他没有图像化界面,需要在终端上安装)

我建议是将clion的vcpkg和vs的vcpkg分开,其一是,我发现使用list命令查看安装的库时,找不到clion上面安装的库,明明在clion的vcpkg文件夹中就是存在安装的库,就是找不到,其二就是好管理(我乱说的,不知道有没有这个原因,但占的内存肯定是比只是要一个clon的vcpkg要多的)

在你使用终端使用 install 安装某个库时

使用vcpkg integrate install后可以全局到vs2022,vs2022可以直接使用 ,如果不使用vcpkg
integrate install,需要在项目属性中添加包含目录和库目录, 或者使用vcpkg integrate
project,这样可以在单个项目中使用vcpkg,否者使用不了
在这里插入图片描述

2.清单模式

步骤一:点击项目,选择项目属性,选择vcpkg,将use vcpkg Manifest改为
在这里插入图片描述
在这里插入图片描述

步骤二:创建一个名为vcpkg.json的文件,以下是一个模板特别注意,项目名字一定要小写,不然就会报错如下图

{
  "name": "testvcpkg",
  "version-string": "0.1.0",
  "dependencies": [
    "nlohmann-json",
    "fmt",
    "lunasvg",
    "sqlite3",
    "boost"
  ]
}

在这里插入图片描述
改成小写以后,难搞,翻车了,此文结束!
在这里插入图片描述
家人们,谁懂啊,写个注释都不行,不要出现中文了!!!有时间立马学个json,难受

在这里插入图片描述

步骤三: 执行.\vcpkg.exe integrate install设置全局到vs2022,这是vs2022会自动识别vcpkg.json文件,如果执行这条命令,你懂的,找不到头文件,不要问我怎么知道的…

步骤四: 生成解决方案,vs就会自动下载所需要的依赖了,就能正常使用头文件了

在这里插入图片描述

小知识

一.为vcpkg添加环境变量

在这里插入图片描述
添加VCPKG_DEFAULT_TRIPLET以后,就不需要在库名字的后面添加:x64-windows了,直接vcpkg install 库名,如:vcpkg install lunasvg

二.添加vcpkg.exe的环境变量

在这里插入图片描述
这样就可以使用powershell随时添加库了,不需要再使用.\vcpkg.exe,直接vcpkg install xxx


更新:
如果使用clion远程连接linux,需要使用vcpkg时,需要使用命令vcpkg integrate install得到全局使用的DCMAKE_TOOLCHAIN_FILE地址,例如
在这里插入图片描述
将得到的命令粘贴到项目的cmake选项即可,我发现有时候使用在cmakelists文件中使用set命令设置无法成功,不知道为什么
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值