1、系统环境本文是在Qt create中配置第三方库yaml。编译器使用MinGW32(不是vs)
这里仅说明我当时配置时所使用的环境
- win11 64位
- Qt 5.14.2
- yaml-cpp-master(好像是1.2) 或者 yaml-cpp 0.7.0
- CMake 3.23.2
- 编译器:MinGW32
关于配置MinGW32请看我的另一篇文章,第2点:配置环境变量
2、下载yaml-cpp从Github上下载yaml-cpp
下载之后解压,打开解压后的目录,在里面新建一个名叫build的文件夹。
打开camke-gui
①选择目录:我这里的路径是:
# Where is the source code: H:/google_download/yaml-cpp-master # Where to build the binaries: H:/google_download/yaml-cpp-master/build②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关掉了。
进入刚刚我们创建的build文件夹中,你会看到刚刚CMake输出的内容。
将鼠标放在该文件夹界面内,按住shift键,同时点击鼠标右键,点击在此处打开Powershell窗口(s),进入Windows Powershell
输入下面命令,按回车键执行该命令。
mingw32-make -j 8
这里的-j 8是为了让CPU进行多任务处理,可以加快编译速度。根据自己电脑的配置进行设置。
等待终端跑完。。。。。。。。。
你就可以在build文件夹中看到libyaml-cpp.a,这是我们后面需要用到的文件。
还有一个文件夹需要用到,就是在yaml-cpp-master目录下的include
在Qt Create中新建一个项目,按照正常流程新建即可,在选择kits的时候要注意选择MinGw 64
在Qt的工程目录下新建一个lib文件夹
将我们刚刚生成的libyaml-cpp.a放到里面
在xxx.pro文件中
添加以下内容,根据你自己的实际情况修改:
INCLUDEPATH 就是我们刚刚提到的include文件夹, 就是在yaml-cpp-master目录下的include
INCLUDEPATH += H:google_downloadyaml-cpp-masterinclude 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()) << endl;
qDebug() << "num:" << config["num"].as() << endl;
⑥检查kit
⑦运行
问题
如果kit不是我选择的MingGW 64的话,比如我这里选MSVC2017 64
此时你只要改回MingGW 64即可。
至此,Qt5.14.2配置yaml-cpp完成。



