Mac QT5.11 C++ 使用Protobuf

     最近在弄一个游戏后台,服务之间使用protobuf进行通信,但模拟客户端使用json与网关通信,为了统一格式模拟客户端使用protobuf。当然C++使用Protobuf比较麻烦,需要自行编译源码然后加入到项目中。

     第一步,从github下载最新protobuf源码进行编译,地址:https://github.com/google/protobuf

     下载后

     1.   进入文件夹  cd protobuf
     2.   这一步好像可以忽略  ./autogen.sh
     3.   生成makefile  ./configure
     4.   开始编译    make

    编译耗费10多分钟左右

     5.   安装       make  install

 参考:   https://www.cnblogs.com/cyzhou/p/6860262.html

 安装结束后会自动给你系统安上需要的东西,新建一个proto文件,使用protoc进行编译。

   protoc -I=./ --cpp_out=./ common.proto

 生成了pb.h和pb.cc的文件,将其放进Qt项目中,你会发现找不到google这个文件夹

从protobuf中src文件夹找到google文件夹

将其放进项目文件中并在项目 xx.pro 中添加一行  

INCLUDEPATH += $$PWD/source/

这个Source是放google的地方,这样就不会提示找不到google文件了

再次运行依旧不行

 

这是由于少.a库的原因,库存放在protobuf/src/.libs中,这是个隐藏文件 ls -a即可看到,将其复制到项目之中,我是放在项目中source文件里。

然后使用QT添加库功能,选择外部库,将libprotobuf.a  libprotoc.a添加进去。

Mac QT5.11 C++ 使用Protobuf_第1张图片 Mac QT5.11 C++ 使用Protobuf_第2张图片

再次运行程序就没有错误了。

你可能感兴趣的:(QT,c++,Grpc)