我是靠谱客的博主 称心萝莉,最近开发中收集的这篇文章主要介绍Linux下使用cmake编译,利用yaml-cpp读取yaml文件前言一、yaml-cpp安装?二、编写文件,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
文章目录
- 前言
- 一、yaml-cpp安装?
- 二、编写文件
- 1.示例
前言
本文主要是用来记录一下Linux系统下,对yaml-cpp学习及使用过程中的一些问题。供大家一起交流学习。
yaml-cpp 是一个开源库,地址为https://github.com/jbeder/yaml-cpp
yaml-cpp 是通过 CMake 来进行构建和编译的。所以你必须先安装了cmake,此步骤自己去寻找
一、yaml-cpp安装?
安装方式有两种,一种是直接clone,然后安装,另外一种是去其官网,去下载。
两者区别就是第二种可以选择版本号。
去其官网下载之后,解压到根目录。
然后
cd yaml-cpp/
mkdir build
cd build
cmake ..
make
sudo make install
最后一步的安装,一定要加sudo,要不然权限不够,库文件和头文件复制不到根目录下去。
二、编写文件
1.示例
我主要是用cmake进行编译的。
mian3文件:
//main3文件
#include <yaml-cpp/yaml.h> //yaml-cpp 头文件
#include <iostream>
int main(int argc, char** argv) {
try {
YAML::Node node = YAML::LoadFile("/home/liukaishu/catkin_ws/src/ros21/learning_topic/config/test.yaml");
std::cout << node << std::endl; //输出yaml数据
} catch (...) { //文件为非yaml格式抛出异常
std::cout << "error" << std::endl;
}
return 0;
}
test.yaml文件
//test.yaml文件
logs:
- name: root
level: info
appenders:
- type: FileLogAppender
file: "./log.txt"
- type: StdoutLogAppender
- name: system
level: warn
appenders:
- type: FileLogAppender
file: "./log.txt"
- type: StdoutLogAppender
CMakeLists
cmake_minimum_required(VERSION 2.8.3)
project(learning_topic)
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
find_package(catkin REQUIRED COMPONENTS
geometry_msgs
roscpp
rospy
std_msgs
turtlesim
message_generation
)
find_package(yaml-cpp REQUIRED)
add_executable(main3 src/main3.cpp)
include_directories(/usr/local/include/yaml-cpp)
target_link_libraries(main3 /usr/local/lib/libyaml-cpp.a)
一定要链接最后两个库,这个特别重要
最后
以上就是称心萝莉为你收集整理的Linux下使用cmake编译,利用yaml-cpp读取yaml文件前言一、yaml-cpp安装?二、编写文件的全部内容,希望文章能够帮你解决Linux下使用cmake编译,利用yaml-cpp读取yaml文件前言一、yaml-cpp安装?二、编写文件所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复