美文网首页
cmake 如何引入第三方库

cmake 如何引入第三方库

作者: Xigong | 来源:发表于2019-04-20 22:39 被阅读0次

例子:在c++ 中引入yaml 解析库 https://github.com/jbeder/yaml-cpp
目录结构是这样

image.png
  1. 首先准备一个yml文件,account.yml
account:
  username: pokercc
  password: 123456
  1. 然后下载yaml-cpp 源码到工程目录
  2. 编写CMakeLists.txt 文件
# cmake 最新要求版本
cmake_minimum_required(VERSION 3.10)
# 工程名称
project(parse_account)
#c14标准
set(CMAKE_CXX_STANDARD 14)
#包含子模块"yaml-cpp-master"
add_subdirectory(yaml-cpp-master)
# 生成可执行文件
add_executable(parse_account parse_account.cpp)
# 连接库,yaml-cpp 是“yal-cpp-master"目录下的CMakeLists.txt中的library 名称
target_link_libraries(parse_account yaml-cpp)
  1. 编写代码 parse_account.cpp
//
// Created by pokercc on 2019/4/20.
//
#include <string>
#include <vector>
#include <iostream>
#include <fstream>
#include "yaml-cpp-master/include/yaml-cpp/yaml.h"

using namespace std;


int main() {

    YAML::Node config = YAML::LoadFile("account.yaml");
    string username, password;
    auto account = config["account"];
    username = account["username"].as<string>();
    password = account["password"].as<string>();
    cout << "username:" << username << endl;
    cout << "password:" << password << endl;

}
  1. 测试运行,在linux终端中
# 生成makefile
cmake .
# 执行编译链接,生成可执行文件
make
# 运行可执行文件
./parse_account
# 查看输出
username:pokercc
password:123456

没有gradle那么容易,一行代码搞定
但是还是比较简单的,我也折腾了一个多小时

demo github地址:https://github.com/pokercc/yaml_demo

参考文档

相关文章

网友评论

      本文标题:cmake 如何引入第三方库

      本文链接:https://www.haomeiwen.com/subject/arsrgqtx.html