欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > IT业 > VS2019,VCPKG - 为VS2019添加VCPKG

VS2019,VCPKG - 为VS2019添加VCPKG

2025/3/9 22:41:44 来源:https://blog.csdn.net/LostSpeed/article/details/146067918  浏览:    关键词:VS2019,VCPKG - 为VS2019添加VCPKG

文章目录

    • VS2019,VCPKG - 为VS2019添加VCPKG
    • 概述
    • 笔记
    • 前置条件
    • 迁出vcpkg到本地
    • 验证库安装
    • 更新已经安装的库
    • 删除指定的包
    • 安装VS2019能用的boost
    • vcpkg 2025.02.14 版本可以给VS2019用
    • 用VCPKG的好处
    • 备注
    • END

VS2019,VCPKG - 为VS2019添加VCPKG

概述

开源工程用到了VCPKG管理的包。
开源工程是VS2022的,用VS2019也能打开,将工具链换一下就行。
现在已经为VS2019添加了VCPKG, 记录一下。

笔记

前置条件

  1. 安装了git
  2. 安装了VS2019(有C++的负荷)
  3. 将VS2019界面改为英文
    在这里插入图片描述
    在这里插入图片描述

迁出vcpkg到本地

以管理员权限打开Git CMD

D:\3rd\vsgit clone git@github.com:microsoft/vcpkg.git 
# 等待迁出完成# 安装vcpkg
cd vcpkg
.\bootstrap-vcpkg.bat# 将vcpkg集成进VS2019
.\vcpkg integrate install

将powershell-core的路径加入自己用户的环境变量, 否则用VCPKG时,找不到pwsh.exe

D:\3rd\vs\vcpkg\downloads\tools\powershell-core-7.2.24-windows

VS2019中添加新源

VS → 工具 → 选项 → NuGet 包管理器 → 程序包源

在这里插入图片描述
程序包源为自己迁出的vcpkg工程中的子目录,如下:

D:\3rd\vs\vcpkg\scripts\buildsystems

验证库安装

# 看看装了啥库
.\vcpkg list # 搜索库, 如果看到的库是新版,不是自己想要的,那么就要将vcpkg的git版本向前退
.\vcpkg search boost# 尝试安装库(拿一个小库来实验)
.\vcpkg --debug install winsock2:x64-windows

更新已经安装的库

./vcpkg.exe update --debug

在这里插入图片描述
在这里插入图片描述
这里看不到安装的那个库, 有点奇怪。是不是VS2019本身就有的库,安装完也没用。

包含头文件(如 #include <Winsock2.h>),编译无报错即表示成功

// test_vs2019_vcpkg.cpp#include <iostream>
#include <Winsock2.h>int main()
{std::cout << "Hello World!\n";
}

删除指定的包

打开 Git CMD

# 查看包列表
vcpkg list# 将报名拷贝下来,运行下列命令
vcpkg remove --recurse [包的全名]# 例子
vcpkg remove --recurse vcpkg-boost:x64-windows

安装VS2019能用的boost

# 从boost文档和源码中,并没有看到什么时候停止对VS2019的支持。
# 安装当前的最新版1.87.0, 已经不支持VS2019. 原因是有一个boost组件要求用VS2022
# 现在只能从源码中看TAG, 然后一个一个TAG的降版本,直到VS2019中能正常编译过。# 先查看vcpkg的git版本,找到boost1.87.0之前的那个版本。
# 然后将vcpkg退回去git fetch --tags
git tag --sort=-creatordategitk ./ports/boost/vcpkg.json
566f9496b7e00ee0cc00aca0ab90493d122d148a 在这个ID上变成了1.87.0d5ec528843 (tag: 2025.02.14) Promote x64-windows-release out of community (#43555)
这是时间往前推的最近的稳定版,签到这个版本试试。git checkout 2025.02.14vcpkg install boost:x64-windows

vcpkg 2025.02.14 版本可以给VS2019用

// test_vs2019_vcpkg.cpp#include <iostream>
#include <boost/filesystem.hpp> 
#include <boost/version.hpp> // Boost版本: 1_86
namespace fs = boost::filesystem;int main() {// 打印Boost版本std::cout << "Boost版本: " << BOOST_LIB_VERSION << std::endl;// 遍历当前目录文件fs::path dir_path(".");if (fs::exists(dir_path) && fs::is_directory(dir_path)) {for (const auto& entry : fs::directory_iterator(dir_path)) {std::cout << entry.path().filename() << std::endl;}}return 0;
}

用VCPKG的好处

只需要勾选"使用VCPKG", 头文件和库文件都不用设置。
在这里插入图片描述

备注

如果是使用VS2019 + VCPKG, 那么VCPKG的版本最高只能为 2025.02.14,否则VCPKG本身的库编译过不了,现在发现是boost版本不能高于1.86.0。

如果是使用VS2019 + boost, 那么boost最高版本只能是1.86.0, 否则boost中有个组件需要依赖VS2022, 导致boost不能完全编译过。

END

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词