微信后台phxrpc编译及QtCreator工程下载

简介: 微信后台phxrpc编译及QtCreator工程下载

微信在2016年发布了一个RPC框架phxrpc,github地址是:https://github.com/Tencent/phxrpc。号称微信后台很多地方都使用到了。


一、编译


本人的环境是CentOS 7,gcc 4.8.5,支持C++ 11。


参考文档可以见微信:编译说明


此处自己来总结一下:

PhxRPC必须依赖的第三方库只有protobuf。在编译前,在third_party目录放置好protobuf目录,或者通过软链的形式。这个third_party目录是没有的,需要自己创建,并且将protobuf代码放进去,也就是说,third_party和sample,plugin_boost等文件夹是同级关系。


另外,我下载的Protobuf版本是3.5.2。https://github.com/protocolbuffers/protobuf


1.编译protobuf


进入third_party/protobuf目录。

./autogen.sh

./configure CXXFLAGS=-fPIC -prefix=[当前目录绝对路径], 这一步CXXFLAGS和-prefix都必须设置对。


例如我的路径是:/home/firecat/Prj/1mystudyhard/rpc/phxrpc/third_party/protobuf

make && make install

编译完成后检查是否在当前目录成功生成bin,include,lib三个子目录。


[root@localhost protobuf]# ./autogen.sh
[root@localhost protobuf]# ./configure CXXFLAGS=-fPIC -prefix=/home/firecat/Prj/1mystudyhard/rpc/phxrpc/third_party/protobuf
[root@localhost protobuf]# make
[root@localhost protobuf]# make install


2.编译phxrpc


进入PhxRPC根目录。

make

编译完成后检查是否生成lib子目录,并检查lib目录下是否生成静态库libphxrpc.a.



3.代码自动生成


上面三步其实不仅生成了libphxrpc.a,还生成了sample中的代码。


sample中的代码默认生成使用的是:

../codegen/phxrpc_pb2server -I ../ -I ../third_party/protobuf/include -f search.proto -d .

所以如果想要生成的worker是使用协程方式执行,需要在sample下重新生成,或者你直接修改sample中的Makefile文件就OK:


../codegen/phxrpc_pb2server -I ../ -I ../third_party/protobuf/include -f search.proto -d . -u



4.运行

进入sample,执行server:


./search_main -c search_server.conf

后面的-c是server的配置文件。


执行client:


./search_tool_main -f PHXEcho -s "hello"

这个search_tool_main是封装了client的可执行文件,上面的-f代表需要调用server中的哪个函数,-s代表这个函数需要什么参数。

如果需要使用方法,直接执行:


./search_tool_main

会有usage的提示。



5.为了方便源码的查看和单步断点调试,本人整理成了QtCreator工程,请下载:


https://download.csdn.net/download/libaineu2004/10854976


注意,里面的工程文件.pro有误,修正为:


INCLUDEPATH += \

   ../


 # ../../phxrpc



---


参考文献:


https://blog.csdn.net/shanshanpt/article/details/55213287


相关文章
|
5月前
|
小程序
微信小程序没有后台切换如何解决
微信小程序没有后台切换如何解决
|
3月前
|
小程序 开发者
万能的微信小程序个人主页:商城系统个人主页、外卖系统个人主页、购票系统个人主页等等【全部源代码分享+页面效果展示+直接复制粘贴编译即可】
这篇文章分享了四个不同应用场景下的微信小程序个人主页的源代码和页面效果展示,包括商城系统、外卖系统、医疗挂号和电影购票系统的个人主页。提供了完整的页面布局和样式代码,允许开发者直接复制粘贴并根据自己的项目需求进行简单的改造使用。
万能的微信小程序个人主页:商城系统个人主页、外卖系统个人主页、购票系统个人主页等等【全部源代码分享+页面效果展示+直接复制粘贴编译即可】
|
3月前
|
小程序 JavaScript Java
微信小程序+SpringBoot接入后台服务,接口数据来自后端
这篇文章介绍了如何将微信小程序与SpringBoot后端服务进行数据交互,包括后端接口的编写、小程序获取接口数据的方法,以及数据在小程序中的展示。同时,还涉及到了使用Vue搭建后台管理系统,方便数据的查看和管理。
微信小程序+SpringBoot接入后台服务,接口数据来自后端
|
3月前
|
小程序 开发者
第一个微信小程序的初始化过程、小程序微信开发平台的下载、如何注册一个微信小程序的账号
这篇文章介绍了微信小程序的初始化过程,包括如何注册微信小程序账号、下载微信小程序开发者平台,并指导了新建小程序的详细步骤。
第一个微信小程序的初始化过程、小程序微信开发平台的下载、如何注册一个微信小程序的账号
|
4月前
|
小程序 前端开发
【非常全】微信小程序下载图片到相册,微信小程序自动获取分享图片到相册
【非常全】微信小程序下载图片到相册,微信小程序自动获取分享图片到相册
279 3
|
4月前
|
小程序 开发工具 开发者
入职必会-开发环境搭建31-微信开发者工具下载和安装
微信开发者工具是一款由微信官方推出的开发工具,旨在帮助开发者更高效地进行微信小程序和微信公众号的开发与调试。该工具集成了代码编辑、代码上传、实时预览、调试等功能,能够提供便捷的开发环境和调试工具,帮助开发者快速定位和解决问题。
|
4月前
|
XML Java 数据格式
支付系统----微信支付20---创建案例项目--集成Mybatis-plus的补充,target下只有接口的编译文件,xml文件了,添加日志的写法
支付系统----微信支付20---创建案例项目--集成Mybatis-plus的补充,target下只有接口的编译文件,xml文件了,添加日志的写法
|
4月前
|
前端开发
支付系统--微信支付21--搭建前端环境,payment-demo-front这个项目文件夹是前端显示文件,payment-demo是后端项目,支付页面常见三个页面:购买课程,我的订单,下载账单
支付系统--微信支付21--搭建前端环境,payment-demo-front这个项目文件夹是前端显示文件,payment-demo是后端项目,支付页面常见三个页面:购买课程,我的订单,下载账单
|
4月前
|
小程序 开发工具 开发者
【微信小程序-原生开发】实用教程01-注册登录账号,获取 AppID、下载安装开发工具、创建项目、上传体验
【微信小程序-原生开发】实用教程01-注册登录账号,获取 AppID、下载安装开发工具、创建项目、上传体验
80 0
|
5月前
|
Java
微信公众号素材下载之java
微信公众号素材下载之java