【Qt】Qt5.14.2配置yaml-cpp

写在前面

本文是在Qt create中配置第三方库yaml。编译器使用MinGW32(不是vs)

1、系统环境

这里仅说明我当时配置时所使用的环境

  • win11 64位
  • Qt 5.14.2
  • yaml-cpp 0.7.0
  • CMake 3.23.2
  • 编译器:MinGW32

(yaml-cpp-master好像有点问题,每次编译完都会报错建议, 建议使用0.7.0)

关于配置MinGW32请看我的另一篇文章,第2点:配置环境变量

2、下载yaml-cpp 0.7.0

从Github上下载yaml-cpp
在这里插入图片描述
下载之后解压,打开解压后的目录,在里面新建一个名叫build的文件夹。
在这里插入图片描述

3、CMake

打开camke-gui

①选择目录:

我这里的路径是:

# Where is the source code:
H:/google_download/yaml-cpp-yaml-cpp-0.7.0

# Where to build the binaries:
H:/google_download/yaml-cpp-yaml-cpp-0.7.0/build

在这里插入图片描述
!!!注意!!!
下面的路径都原本是基于yaml-cpp-master写的,现在请自行将它改成yaml-cpp-yaml-cpp-0.7.0

②Configure选项

点击configure
在这里插入图片描述

然后选择
在这里插入图片描述
在这里插入图片描述

Compilers

# C
D:/software/Qt/Qt5.14.2/Tools/mingw730_64/bin/gcc.exe

# C++
D:/software/Qt/Qt5.14.2/Tools/mingw730_64/bin/g++.exe

在这里插入图片描述
点击Finish
在这里插入图片描述
出现红色的不用管,看到Configuring done就点击Generate
在这里插入图片描述
出现Generating done就可以把cmake-gui关掉了。

4、编译

进入刚刚我们创建的build文件夹中,你会看到刚刚CMake输出的内容。
在这里插入图片描述
将鼠标放在该文件夹界面内,按住shift键,同时点击鼠标右键,点击在此处打开Powershell窗口(s),进入Windows Powershell
在这里插入图片描述
输入下面命令,按回车键执行该命令。

mingw32-make -j 8

这里的-j 8是为了让CPU进行多任务处理,可以加快编译速度。根据自己电脑的配置进行设置。
等待终端跑完。。。。。。。。。
在这里插入图片描述
你就可以在build文件夹中看到libyaml-cpp.a,这是我们后面需要用到的文件。
在这里插入图片描述
还有一个文件夹需要用到,就是在yaml-cpp-master目录下的include
在这里插入图片描述

5、用Qt测试

①新建Qt项目

在Qt Create中新建一个项目,按照正常流程新建即可,在选择kits的时候要注意选择MinGw 64
在这里插入图片描述

②移动xxx.a文件

在Qt的工程目录下新建一个lib文件夹
在这里插入图片描述
将我们刚刚生成的libyaml-cpp.a放到里面
在这里插入图片描述

③添加yaml-cpp

xxx.pro文件中
在这里插入图片描述
添加以下内容,根据你自己的实际情况修改:
INCLUDEPATH 就是我们刚刚提到的include文件夹, 就是在yaml-cpp-master目录下的include

INCLUDEPATH += H:\google_download\yaml-cpp-master\include

LIBS += $$PWD/lib/libyaml-cpp.a

在这里插入图片描述

④执行qmake

在这里插入图片描述
在这里插入图片描述

⑤测试

首先准备一个yaml文件,test.yaml内容是:

name: Hunzi
num: 123

在mainwindow.cpp中导入头文件

#include "yaml-cpp/yaml.h"
using namespace YAML;

在构造函数中写:

Node config;
try{
    
    
    config = LoadFile("H:/TempFiles/test.yaml");
} catch(BadFile &e) {
    
    
    qDebug() <<"read error!";
}
qDebug() << "name:" << QString::fromStdString(config["name"].as<std::string>()) << endl;
qDebug() << "num:" << config["num"].as<int>() << endl;

⑥检查kit

在这里插入图片描述

⑦运行

在这里插入图片描述

问题

如果kit不是我选择的MingGW 64的话,比如我这里选MSVC2017 64
在这里插入图片描述
在这里插入图片描述
此时你只要改回MingGW 64即可。

至此,Qt5.14.2配置yaml-cpp完成。

猜你喜欢

转载自blog.csdn.net/iiinoname/article/details/125344979