grpc记录(一)windows下使用Qt的MinGW编译grpc

1.编译环境

以下是我是用的编译环境:
操作系统:windows10
Qt:5.15.2
CMake:3.22.1 https://cmake.org/download/
Git:2.31.1 https://git-scm.com/
NASM:2.14.02 https://www.nasm.us/pub/nasm/releasebuilds/?C=M;O=D
注: Qt安装完成后,需要配置环境变量

在这里插入图片描述

2.grpc源码下载

grpc源码地址:https://github.com/grpc/grpc
打开git bash,克隆grpc源码:

git clone git@github.com:grpc/grpc.git

3.下载子模块

grpc源码下载完后,找到源码根目录下的.gitmodules文件,文件中是grpc编译所需要的子模块。

子模块
为提高下载成功率,将文件中的url由https地址改为ssh地址,即将https://替换为ssh@,将.com/替换为.com:

子模块
下载子模块

cd grpc
git submodule update --init
#如果某个子模块下载失败,则可多次执行下方命令
git submodule update --recursive

当然,也可以自己下载子模块,copy到./grpc/third_party中对应的子模块目录中。

4.cmake构建

在grpc目录下新建mingw64文件夹,打开CMake,选择源码路径和构建路径。

CMake
点击Configure按钮,在弹出框中选择MinGW Makefiles,点击Finish按钮。

MinGW Makefiles
配置完成,显示Configuring done

Configure
点击Generate按钮,生成Makefile文件,显示Generating done

Generate

5.编译

点击开始,找到Qt目录,找到Qt5.15.2(MinGW 8.10 64-bit),右键选择以管理员身份运行(安装时需要管理员身份)

MinGW
进入mingw64目录,执行mingw32-make

mingw32-make
编译完成

编译完成

6.安装

编译完成后,执行命令

mingw32-make install

安装路径

至此,windows下使用MinGW编译grpc完成。

补充

我用Qt5.12也编译过grpc,但是在编译过程中会报错,原因是我通过git submodule下载的protobuf版本是3.19,Qt5.12的MinGW的版本太低,导致编译出错。因此手动下载protobuf3.16的版本,copy到./grpc/third_party/protobuf中,重新编译即可。

Windows使用 QtgRPC 进行开发需要进行以下步骤: 1. 安装 gRPC:首先,你需要安装 gRPC 的 C++ 版本。你可以从 gRPC 的 GitHub 页面上下载最新版本的 gRPC。选择适用于 Windows 的预编译二进制文件并进行安装。 2. 安装 Protocol Buffers:gRPC 使用 Protocol Buffers 进行序列化和反序列化数据。你需要安装 Protocol Buffers 的编译器和库。同样,你可以从 Protocol Buffers 的 GitHub 页面上下载适用于 Windows 的预编译二进制文件并进行安装。 3. 创建 Qt 项目:使用 Qt Creator 或其他编辑器创建一个新的 Qt 项目。 4. 配置项目文件:在项目文件(例如,.pro 文件)中添加 gRPC 和 Protocol Buffers 的相关配置。你需要添加 gRPC 和 Protocol Buffers 的头文件和库路径。以下是一个示例的项目文件配置: ``` # 添加 gRPC 和 Protocol Buffers 头文件路径 INCLUDEPATH += path/to/grpc/include INCLUDEPATH += path/to/protobuf/include # 添加 gRPC 和 Protocol Buffers 库路径 LIBS += -Lpath/to/grpc/lib -lgrpc++ LIBS += -Lpath/to/protobuf/lib -lprotobuf ``` 5. 生成 gRPC 代码:使用 Protocol Buffers 的编译器生成 gRPC 的代码。在项目构建过程中,你可以添加一个自定义构建步骤使用编译器生成代码,或者手动运行编译器生成代码。 ``` protoc --grpc_out=. --cpp_out=. path/to/your/proto/file.proto ``` 这将生成包含 gRPC 服务和消息类的 C++ 代码文件。 6. 实现 gRPC 服务:根据你的需求,实现 gRPC 的服务类。在服务类中,你可以定义服务的方法和处理逻辑。 7. 使用 gRPC 客户端:在你的 Qt 项目中,实现一个 gRPC 客户端来与 gRPC 服务进行通信。你可以使用生成的 gRPC 消息类来构造请求和处理响应。 这些是使用 QtgRPCWindows 上进行开发的基本步骤。记得在项目构建过程中链接 gRPC 和 Protocol Buffers 的库文件。详细的实现步骤会根据你的具体需求和项目结构而有所不同。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值