vscode cmake 配置项目添加并使用jsoncpp

vscode cmake 配置项目添加并使用jsoncpp

前言

因为初学c++,在将jsoncpp添加到vscode的项目中时遇到了一些困难,于是记录并分享。

1、前期准备

GitHub下载源码 https://github.com/open-source-parsers/jsoncpp

我使用的版本是0.5.0,高版本好像不能只改头文件添加cppjson

旧版本链接 https://pan.baidu.com/s/1Yg9Usdc3T-CYhyr9GiePCw?pwd=ng6x

vscode 安装cmake插件

2、创建项目

创建一个文件夹并使用vscode打开

在根目录下创建文件main.cpp并输入下面这段代码作为测试

#include "stdio.h"
#include "json/json.h"
 
#include <string.h>
#include <iostream>
 
int main()
 
{
 
    std::cout << "programm start...." << std::endl;
 
    Json::Value tmp;
 
    tmp["key1"] = Json::Value ("value1");
 
    Json::FastWriter file;
 
    std::cout << file.write(tmp) << std::endl;
 
}   

ctrl+shift+p,输入cmake,找到CMake:Quick Start进行配置

在这里插入图片描述

然后依次输入项目名称,选择C++,可执行文件,成功生成CMakeLists.txt。

3、解压并添加源码到项目目录

将jsoncpp解压后的文件结构,只有文件夹

F:.
├───devtools
├───doc
├───include
│   └───json
├───makefiles
│   └───vs71
├───scons-tools
├───src
│   ├───jsontestrunner
│   ├───lib_json
│   └───test_lib_json
└───test
    ├───data
    └───jsonchecker

在项目根目录下创建文件夹存放jsoncpp相关文件。

将 include/json 和 src/lib_json 文件夹下的所有文件添加到json文件夹下

删除CMakeLists.txt

F:.
    autolink.h
    config.h
    features.h
    forwards.h
    json.h
    json_batchallocator.h
    json_internalarray.inl
    json_internalmap.inl
    json_reader.cpp
    json_value.cpp
    json_valueiterator.inl
    json_writer.cpp
    reader.h
    sconscript
    value.h
    writer.h

4、修改CMakeLists.txt

添加cppjson源码和头文件到工程并链接

cmake_minimum_required(VERSION 3.0.0)
project(server VERSION 0.1.0 LANGUAGES C CXX)

include(CTest)
enable_testing()

file(GLOB_RECURSE cpp_srcs json/*.cpp)
add_library(my_library SHARED ${cpp_srcs})

add_executable(server main.cpp)

target_link_libraries(server my_library)

set(CPACK_PROJECT_NAME ${PROJECT_NAME})
set(CPACK_PROJECT_VERSION ${PROJECT_VERSION})
include(CPack)

5、修改源码引用头文件

根据报错进行修改

#include <json/value.h>      -> #include "value.h" 
#include <json/writer.h>     -> #include "writer.h"  
#include <json/reader.h>     -> #include "reader.h"  

6、构建项目

成功启动并输出json。
在这里插入图片描述

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值