简介
本文主要教会大家如何在Linux环境搭建C++ 所需的grpc和jsoncpp库,并教会大家如何编写cmake,并配置使用这些库。
解决vim乱码
为了解决Linux环境下打开vim中文乱码的问题
用vim打开用户目录下的vim配置文件
1 | vim ~/.vimrc |
配置如下
1 | set termencoding=utf-8 |
配置和使用jsoncpp
如果你是ubuntu系统,可以通过如下命令直接安装
1 | 可以通过指令apt install libjsoncpp-dev 安装 |
但是如果是其他Linux系统最好是手动安装源码包,我的操作都是在ubuntu为基础镜像生成的docker中进行的,如果大家使用的是宿主机,可以直接安装。
推荐源码安装,去github下载
https://github.com/open-source-parsers/jsoncpp/releases
可以选择用wget 命令
我在电脑下好后传到云服务器上
然后在云服务器上copy到docker里, 如果你是在宿主机进行的,可以略去这一步。
1 | docker cp /home/ubuntu/download/jsoncpp-1.9.5.tar.gz cppubuntu:/test |
进入容器
1 | docker exec -it cppubuntu /bin/bash |
接下来解压压缩包,无论docker还是宿主机内,都需执行如下命令
1 | tar zxvf ./jsoncpp-1.9.5.tar.gz |
进入到源码目录
1 | cd ./json |
创建目录
1 | mkdir build |
进入目录
1 | cd build |
执行cmake生成makefile
1 | cmake ../ |
执行make
1 | make |
执行安装
1 | make install |
更新库
1 | ldconfig |
写一个jsoncpp的测试cpp
1 |
|
执行 编译
1 | g++ jsontest.cpp -o jsontest -ljsoncpp |
或者写个cmake
1 | cmake_minimum_required(VERSION 3.12) |
运行 ./jsontest
输出
1 | {"DateTime":"44","LogType":"55","ModuleCode":"22","ModuleDesc":"33","ModuleType":"\u4f60\u597d"} |
grpc配置和使用
克隆grpc指定分支
1 | git clone -b v1.34.0 https://gitee.com/mirrors/grpc-framework.git grpc |
进入目录并更新子模块
1 | cd grpc |
编译并生成grpc库
1 | cd grpc |
测试安装成功与否
编译源代码中的helloworld文件夹下的文件,步骤如下:
1 | 进入grpc文件夹下 |
编译完成后,分别执行greeter_server和greeter_client即可测试。
项目应用grpc
我们的项目中也用到了grpc, 需要编写一个CMakeLists.txt 配置grpc。
大家可以克隆我的boost项目代码
https://gitee.com/secondtonone1/boostasio-learn
进入day19-Grpc-Server目录,我们编写如下的CMakeLists.txt
1 | cmake_minimum_required(VERSION 3.1) |
我们新建一个build文件夹
1 | mkdir build |
进入build文件夹里,执行cmake ..
, 再执行make
即可。
直接执行GrpcServer
就可以看到我们的程序跑起来了。
总结
本文介绍了如何使用Linux环境下配置和使用grpc和cppjson库,我将docker打包为镜像提交到了网盘上,大家感兴趣可以下载看看
链接
提取码:5wng