千家信息网

如何在VS2019中使用CMake 3.18.3编译安装yaml-cpp库

发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,这篇文章主要介绍"如何在VS2019中使用CMake 3.18.3编译安装yaml-cpp库",在日常操作中,相信很多人在如何在VS2019中使用CMake 3.18.3编译安装yaml-cpp库问题
千家信息网最后更新 2026年11月04日如何在VS2019中使用CMake 3.18.3编译安装yaml-cpp库

这篇文章主要介绍"如何在VS2019中使用CMake 3.18.3编译安装yaml-cpp库",在日常操作中,相信很多人在如何在VS2019中使用CMake 3.18.3编译安装yaml-cpp库问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"如何在VS2019中使用CMake 3.18.3编译安装yaml-cpp库"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

1、应用背景

由于采用C++编写控制台程序的过程中使用yaml文件比较多,目前使用比较的多的就是yaml-cpp这个C++ yaml解析库了。之前写过两篇关于在CentOS7下编译yaml-cpp库和Windows10下使用VS2017编译和使用yaml-cpp库的文章。
最近实际项目中换成了最新版的Visual Studio 2019,我使用的Windows系统是Win7和Windows10,所以需要重新编译基于VS2019下的yaml-cpp的Debug和Release版本的Win32的静态lib库,大体步骤和Windows10下使用VS2017编译和使用yaml-cpp库这篇博客描述的一致。

2、下载yaml-cpp源代码

首先从https://github.com/jbeder/yaml-cpp上下载源代码

git clone https://github.com/jbeder/yaml-cpp.git

使用git拉取代码
或者直接在https://github.com/jbeder/yaml-cpp上下载zip文件,然后解压缩到指定的文件目录下:

3、使用VS2019和CMake3.18.3编译yaml-cpp

首先确保已经在自己的系统下安装了VS2019和CMake
我的系统是Windows7、VS2019、CMake 3.18.3,可以根据需要选择Windows10、CMake 3.19.2也行
解压后的yaml-cpp源码包目录结构如下:

Github仓库上对于在Windows10下使用yaml-cpp的CMake编译介绍到比较简单,具体如下图所示:

下载好yaml-cpp源代码并解压到F:\rate\iot_sdk\third_part目录下,然后再该目录下创建一个build目录,用于存放编译过程中的中间文件,这样做主要是为了不影响源代码,弄错了可以删除重来。
我在Windows7系统下使用VS2019和CMake 3.18.3编译yaml-cpp的命令为:

cmake .. -G "Visual Studio 16 2019" -A Win32 -DCMAKE_INSTALL_PREFIX=F:\rate\iot_sdk\third_part\yaml-cpp\install  -DYAML_BUILD_SHARED_LIBS=OFF ..

或者

cmake .. -G "Visual Studio 16 2019 Win32 "  -DCMAKE_INSTALL_PREFIX=F:\rate\iot_sdk\third_part\yaml-cpp\install  -DYAML_BUILD_SHARED_LIBS=OFF ..

上面的-G命令指定了VS2019作为工具,-DCMAKE_INSTALL_PREFIX指定安装目录,
-DYAML_BUILD_SHARED_LIBS指定是否编译动态库的开关,ON表示编译动态库,OFF表示不编译动态库只编译静态库。

然后使用VS2019打开YAML_CPP.sln工程文件,如下图所示:

3.1、使用VS2019编译Win32 Debug模式的yaml-cppd.lib库

选择需要编译的平台和模式,如Win32/Win64以及Debug/Release
上面选择了Debug以及Win32,然后右键点击【解决方案】-》【生成解决方案】

然后会生成一些基于Win32平台的Debug版本的静态库


这个yaml-cppd.lib就是我们使用VS2019项目编译出来的基于Win32平台的Debug静态库,在使用VS2019开发yaml-cpp的项目中需要引入这个lib库

3.2、使用VS2019编译Win32 Release模式的yaml-cpp.lib库

选择Release、Win32,右键点击【解决方案】-》【生成解决方案】,如下图所示:



关于在Windows7下使用VS2019编译Win64位的Debug库和Release库的方法也是类似的,对应的CMake编译命令为:

cmake .. -G "Visual Studio 16 2019 Win64 "  -DCMAKE_INSTALL_PREFIX=F:\rate\iot_sdk\third_part\yaml-cpp\install  -DYAML_BUILD_SHARED_LIBS=OFF ..

生成了YAML-CPP.sln项目工程后,使用VS2019打开,分别选择Win64位的Debug或Win64的Release模式,然后右键点击【解决方案】-》【生成解决方案】,会分别在相应目录下生成yaml-cppd.lib和yaml-cpp.lib文件

4、在VS2019中使用yaml-cpp库读写yaml文件

这个在VS2019中引入yaml-cpp库的方式和VS2017中一样,具体可以参考我之前的博客Windows10下使用VS2017编译和使用yaml-cpp库


测试的config.yaml文件如下:

lastLogin: 2021-01-20 08:26:10username: rootpassword: 123

C++测试源代码如下:

#include #include #include "yaml-cpp/yaml.h"int main(){         YAML::Emitter out;out << "Hello, World!";std::cout << "Here's the output YAML:\n" << out.c_str();YAML::Node config = YAML::LoadFile("config.yaml");if (config["lastLogin"]) {         std::cout << "Last logged in: " << config["lastLogin"].as() << std::endl;}const std::string username = config["username"].as();const std::string password = config["password"].as();//login(username, password);//config["lastLogin"] = getCurrentDateTime();config["lastLogin"] = "2021-01-21 10:26:10";std::cout << "username: " << username << ", password: " << password << std::endl;std::ofstream fout("config.yaml");fout << config;return 0;}

到此,关于"如何在VS2019中使用CMake 3.18.3编译安装yaml-cpp库"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

编译 文件 目录 方案 解决方案 生成 源代码 选择 模式 系统 静态 项目 学习 动态 命令 平台 上下 博客 就是 工程 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 瑰夏咖啡 美国互联网黑科技 无线互联网科技 互联网科技logo 互联网科技的未来发展 成都狮子座互联网科技 互联网金融和金融科技 滨湖区互联网智能科技产品供应 汉立互联网科技有限公司联系电话 全球顶尖互联网科技公司 宝灵互联网科技有限公司 新兴科技互联网创新大赛颁奖典礼 允成互联网科技有限公司融资 西安小鹰速贷互联网科技有限公司 上海科技产业互联网平台 九思连强互联网电子科技有限公司 互联网金融运营模式中的金融科技 互联网科技品牌 陕西彩京云互联网科技有限公司 广州全民伙伴互联网科技有限公司 小米移动互联网科技园 有格互联网科技 易互联网科技有限公司 恒生科技互联网指数分析 博兴的互联网电子科技公司 新华互联网科技2019 科技大学互联网 互联网金融科技元年 北京市互联网新科技 科技互联网行业投资研究
0