欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Mac QT5.11 C++ 使用Protobuf

程序员文章站 2022-07-13 08:29:02
...

     最近在弄一个游戏后台,服务之间使用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这个文件夹

Mac QT5.11 C++ 使用Protobuf

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

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

INCLUDEPATH += $$PWD/source/

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

再次运行依旧不行

Mac QT5.11 C++ 使用Protobuf

 

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

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

Mac QT5.11 C++ 使用Protobuf Mac QT5.11 C++ 使用Protobuf

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