c++ 開(kāi)發(fā)中如何讀寫yaml配置文件
c++ 開(kāi)發(fā)中利用yaml-cpp讀寫yaml配置文件
1、yaml-cpp 是一個(gè)開(kāi)源庫(kù),地址在 github 上,https://github.com/jbeder/yaml-cpp。
在ubuntu中可以輸入git clone https://github.com/jbeder/yaml-cpp獲取yaml-cpp源碼。
2、進(jìn)入到y(tǒng)aml-cpp目錄,新建一個(gè)build目錄。
3、進(jìn)入到build目錄,輸入cmake -D BUILD_SHARED_LIBS=ON …編譯出動(dòng)態(tài)庫(kù)。
4、創(chuàng)建自己測(cè)試用的文件夾,將yaml-cpp目錄下面的include 目錄拷貝到測(cè)試目錄下,將編譯后的動(dòng)態(tài)庫(kù)也拷貝到測(cè)試目錄下,同事目錄下在編寫三個(gè)文件,分別為CMakeLists.txt、config.yaml、main.cpp。
main.cpp內(nèi)容如下:
#include <iostream>
#include "include/yaml-cpp/yaml.h"
using namespace std;
int main(int argc,char** argv)
{
YAML::Node config = YAML::LoadFile("../config.yaml");
cout << "name:" << config["name"].as<string>() << endl;
cout << "sex:" << config["sex"].as<string>() << endl;
cout << "age:" << config["age"].as<int>() << endl;
return 0;
}config.yaml內(nèi)容如下:
name: xiaoyu sex: man age: 20
CMakeLists.txt內(nèi)容如下:
cmake_minimum_required(VERSION 3.2)
project(yaml_test)
add_definitions(-std=c++11)
include_directories(include)
set(SRCS main.cpp)
add_executable(yamltest ${SRCS})
target_link_libraries(yamltest ${CMAKE_HOME_DIRECTORY}/libs/libyaml-cpp.so)5、在當(dāng)前目錄創(chuàng)建 build 文件夾,然后進(jìn)入 build 文件執(zhí)行 cmake 操作。
mkdir build cd build cmake ..
特別說(shuō)明:
編譯過(guò)程中如遇到:
關(guān)于 CMake Error: CMake Error: The source directory …does not appear to contain CMakeLists.txt.這個(gè)問(wèn)題時(shí),只需要復(fù)制一下終端報(bào)錯(cuò)內(nèi)容中的CMakeLists.txt對(duì)自己所寫的cmake文件重新命名,編譯就可以啦。
到此這篇關(guān)于c++ 開(kāi)發(fā)中讀寫yaml配置文件的文章就介紹到這了,更多相關(guān)c++ yaml配置文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C++中為什么要使用動(dòng)態(tài)內(nèi)存
大家好,本篇文章主要講的是C++中為什么要使用動(dòng)態(tài)內(nèi)存,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下2022-02-02
鏈接庫(kù)動(dòng)態(tài)鏈接庫(kù)詳細(xì)介紹
靜態(tài)鏈接庫(kù).lib和動(dòng)態(tài)鏈接庫(kù).dll。其中動(dòng)態(tài)鏈接庫(kù)在被使用的時(shí)候,通常還提供一個(gè).lib,稱為引入庫(kù),它主要提供被Dll導(dǎo)出的函數(shù)和符號(hào)名稱,使得鏈接的時(shí)候能夠找到dll中對(duì)應(yīng)的函數(shù)映射2012-11-11
QT樹(shù)的具體項(xiàng)目實(shí)現(xiàn)
本文主要介紹了QT樹(shù)的具體項(xiàng)目實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06
C語(yǔ)言實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)(鏈表)
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)學(xué)生信息管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-06-06
C++實(shí)現(xiàn)大整數(shù)乘法(字符串乘法)
這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)大整數(shù)乘法、字符串乘法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-09-09

