简介
本文主要教会大家如何在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