gRPC编译.md..md.

c++实现gRPC 无论什么语言,实现grpc的核心是.proto文件,通过protoc命令将.proto文件生成grpc框架的接口文件*gb*, 该文件中包含.proto定义的方法及参数接口,服务器,客户端相关操作接口;然后再编写服务器,客户端代码,调用*gb*文件生成的接口。后期会发布一篇grpc程序编写的完整流程,从proto,*.pb.cc, *.grpc.pb.cc解析 到服务器 客户端代码编写,cmake编写,返回状态设置,.cmake文件解析的全面刨析,让您一篇文章学会grpc 阅读详情

gRPC编译

编译

参照以下3篇博文:

在Windows搭建gRPC C++开发环境

grpc记录(一)windows下使用Qt的MinGW编译grpc_零幺幺幺的博客-CSDN博客

Windows GRPC源码编译C++库——详细步骤_宇宙的尽头是编制的博客-CSDN博客_windows c++ grpc

总的来说比较麻烦,需要注意的是:
1.不要忘记安装nasm;

2.第三方库还是手动下载压缩包,解压放到对应目录吧

3.第三方库一定要全并且要注意版本,有一次就是cares没下载,导致CMake配置失败,还有一次是cares下载了最新版本,导致VS2017编译时有错误。

4.编译成功后把grpc的bin路径添加到环境变量中。

使用

编译成功后的练习可参照:

grpc记录(二)Windows下Qt使用grpc_零幺幺幺的博客-CSDN博客_qt grpc

使用VS练习需注意:

1.生成的.cc文件添加到工程后,设置为不使用预编译头

2.添加编译好的头文件路径和库路径

3.添加附加依赖项:

Release:

absl_bad_optional_access.lib
absl_bad_variant_access.lib
absl_base.lib
absl_city.lib
absl_civil_time.lib
absl_cord.lib
absl_cordz_functions.lib
absl_cordz_handle.lib
absl_cordz_info.lib
absl_cordz_sample_token.lib
absl_cord_internal.lib
absl_debugging_internal.lib
absl_demangle_internal.lib
absl_examine_stack.lib
absl_exponential_biased.lib
absl_failure_signal_handler.lib
absl_flags.lib
absl_flags_commandlineflag.lib
absl_flags_commandlineflag_internal.lib
absl_flags_config.lib
absl_flags_internal.lib
absl_flags_marshalling.lib
absl_flags_parse.lib
absl_flags_private_handle_accessor.lib
absl_flags_program_name.lib
absl_flags_reflection.lib
absl_flags_usage.lib
absl_flags_usage_internal.lib
absl_graphcycles_internal.lib
absl_hash.lib
absl_hashtablez_sampler.lib
absl_int128.lib
absl_leak_check.lib
absl_log_severity.lib
absl_low_level_hash.lib
absl_malloc_internal.lib
absl_periodic_sampler.lib
absl_random_distributions.lib
absl_random_internal_distribution_test_util.lib
absl_random_internal_platform.lib
absl_random_internal_pool_urbg.lib
absl_random_internal_randen.lib
absl_random_internal_randen_hwaes.lib
absl_random_internal_randen_hwaes_impl.lib
absl_random_internal_randen_slow.lib
absl_random_internal_seed_material.lib
absl_random_seed_gen_exception.lib
absl_random_seed_sequences.lib
absl_raw_hash_set.lib
absl_raw_logging_internal.lib
absl_scoped_set_env.lib
absl_spinlock_wait.lib
absl_stacktrace.lib
absl_status.lib
absl_statusor.lib
absl_strerror.lib
absl_strings.lib
absl_strings_internal.lib
absl_str_format_internal.lib
absl_symbolize.lib
absl_synchronization.lib
absl_throw_delegate.lib
absl_time.lib
absl_time_zone.lib
address_sorting.lib
cares.lib
crypto.lib
gpr.lib
grpc++.lib
grpc++_alts.lib
grpc++_error_details.lib
grpc++_reflection.lib
grpc++_unsecure.lib
grpc.lib
grpcpp_channelz.lib
grpc_plugin_support.lib
grpc_unsecure.lib
libprotobuf-lite.lib
libprotobuf.lib
libprotoc.lib
re2.lib
ssl.lib
upb.lib
zlib.lib

Debug:

absl_bad_optional_access.lib
absl_bad_variant_access.lib
absl_base.lib
absl_city.lib
absl_civil_time.lib
absl_cord.lib
absl_cordz_functions.lib
absl_cordz_handle.lib
absl_cordz_info.lib
absl_cordz_sample_token.lib
absl_cord_internal.lib
absl_debugging_internal.lib
absl_demangle_internal.lib
absl_examine_stack.lib
absl_exponential_biased.lib
absl_failure_signal_handler.lib
absl_flags.lib
absl_flags_commandlineflag.lib
absl_flags_commandlineflag_internal.lib
absl_flags_config.lib
absl_flags_internal.lib
absl_flags_marshalling.lib
absl_flags_parse.lib
absl_flags_private_handle_accessor.lib
absl_flags_program_name.lib
absl_flags_reflection.lib
absl_flags_usage.lib
absl_flags_usage_internal.lib
absl_graphcycles_internal.lib
absl_hash.lib
absl_hashtablez_sampler.lib
absl_int128.lib
absl_leak_check.lib
absl_log_severity.lib
absl_low_level_hash.lib
absl_malloc_internal.lib
absl_periodic_sampler.lib
absl_random_distributions.lib
absl_random_internal_distribution_test_util.lib
absl_random_internal_platform.lib
absl_random_internal_pool_urbg.lib
absl_random_internal_randen.lib
absl_random_internal_randen_hwaes.lib
absl_random_internal_randen_hwaes_impl.lib
absl_random_internal_randen_slow.lib
absl_random_internal_seed_material.lib
absl_random_seed_gen_exception.lib
absl_random_seed_sequences.lib
absl_raw_hash_set.lib
absl_raw_logging_internal.lib
absl_scoped_set_env.lib
absl_spinlock_wait.lib
absl_stacktrace.lib
absl_status.lib
absl_statusor.lib
absl_strerror.lib
absl_strings.lib
absl_strings_internal.lib
absl_str_format_internal.lib
absl_symbolize.lib
absl_synchronization.lib
absl_throw_delegate.lib
absl_time.lib
absl_time_zone.lib
address_sorting.lib
cares.lib
crypto.lib
gpr.lib
grpc++.lib
grpc++_alts.lib
grpc++_error_details.lib
grpc++_reflection.lib
grpc++_unsecure.lib
grpc.lib
grpcpp_channelz.lib
grpc_plugin_support.lib
grpc_unsecure.lib
libprotobuf-lited.lib
libprotobufd.lib
libprotocd.lib
re2.lib
ssl.lib
upb.lib
zlibd.lib

如果是用于学习可下载以下编译好的
gRPC编译好的库,Win10-64位

从抓包到爬虫:我是如何用Whistle+Python逆向某电商App接口并自动签名的 本文详细介绍了如何利用Whistle抓包工具和Python逆向工程破解某电商App的API签名机制,实现自动化数据采集。从移动端抓包环境搭建、签名算法逆向分析到Python实现和自动化爬虫系统设计,提供了一套完整的技术解决方案,帮助开发者应对动态密钥和协议升级等挑战。 阅读详情

相关推荐

【Golang | gRPC】使用protoc编译.proto文件

环境: Golang: go1.18.2 windows/amd64 protoc:libprotoc 3.21.1使用编译.proto文件,首先需要正确安装编译器。如果使用预编译的二进制文件方式安装,注意添加环境变量,具体可以参考【Golang | gRPC】protocol buffer compiler\protoc的安装protoc本身并不支持Golang,需要额外安装对应的插件 方法1,使用安装 方法2,在一个已经包含go.mod文件的项目里使用 安装成功后,会在目录下生成两个2进制文件3.1.1

土豆 8740

windows下GRPC编译安装和使用

windows下GRPC编译安装和使用 一、下载源码 1.GRPC源码下载 git clone https://github.com/grpc/grpc 2.子模块下载 cd grpc git submodule update --init 3.Github网络连接不稳定,可能需要多次重复执行下载命令 二、环境配置 1.VS2019 2.cmake-3.16.5-win32-x86.msi 3.go1.17.1.windows-amd64.msi 4.nasm-2.15.05-installer-x64.

u012339043的博客 2057

GRPC编译安装及测试

一、安装grpc 安装grpc指令,官网链接:https://github.com/grpc/grpc/blob/master/BUILDING.md 下载源码 git clone -b RELEASE_TAG_HERE https://github.com/grpc/grpc cd grpc # 更新子模块 git submodule update --init 编译和安装 mkdir -p cmake/build cd cmake/build cmake ../.. make 生.

YBAdiam的博客 3825

Windows GRPC源码编译C++库——详细步骤

widnows grpc源码编译c++

ManagerUser的博客 7071

gRPCC++编译及简单使用

grpc编译及简单使用 1.grpc相关参考文档 grpc 主页: https://grpc.io/ grpc 文档: https://grpc.io/docs/ grpc 简介: https://grpc.io/docs/what-is-grpc/introduction/ grpc 编译包1: https://packages.grpc.io/ grpc 编译包2: https://pkgs.org/download/grpc grpc github地址: https://gi

turbock的博客 1万+

gRPC C++开发环境搭建

gRPC C++开发环境搭建

C/C++Linux、音视频、DPDK 1470

交叉编译GRPC遇到的问题

交叉编译GRPC遇到的问题

a286268373的博客 1119

gRPC系列文章 gRPC++项目生成、编译

gRPC系列文章 gRPC++项目生成、编译环境clone grpc仓库CMake生成项目编译grpc 想要在C++项目中使用gRPC需要gRPC相关的库和工具。 环境 Windows 7 ActivePerl-5.28.1 Go 1.13.7 CMake 3.16.3 VIsual Studio 2015 Perl和CMake的官方zip包已经放在仓库里了,建议大家直接到博主的的仓库下载。...

wangxudongx的专栏 2777

Windows系统下编译grpc源码+VS2019配置使用grpc

【原创】Windows系统下编译grpc+VS2019配置使用grpc 导语: 本文记录了开源通信框架在windows系统上编译的过程,以及使用VS 2019配置使用编译出来的grpc相关成果物展示demo.在window下编译grpc也是无奈啊,试过好多种办法(通过msys配置等),都不能为VS所用,所以只能开启一段旅程。 网上相关资料也有很多,这里基于grpc 和 VS 最新版本丰富下细节,做一下记录。 Step-1: 编译grpc 1-1 准备编译环境 (1) 安装Git 作用:下载grpc代码以

基层架构师的分享 7176

【HarmonyOS NEXT】gRPC编译指导

1.报错 use of undeclared identifier 'pthread_cancel'```shell```SDK中缺少pthread_cancel函数删除掉源码中的pthread_cancel相关内容。

Mayism123的博客 1209

编译gRPC(windows)和测试demo

准备工作: 1.编译器:Visual studio 2015(到微软官网下载,这里可能有人会问“为什么不用VS2013,因为gRPC源码是用gcc编译的,vs2013编译编译会有很多问题,但是vs2015编译器已经可以编译gcc编译的代码”) 2.git工具:获取gRPC源代码(下载路径:http://download.csdn.net/detail/xiaoyafang123/991768

萧戈的专栏 4645

C++ GRPC编译及使用

下载源码后,可以在源码根目录下找到 .gitmodules 文件,该文件是 git 用来描述依赖库的,可以看到 gRPC 的依赖库有:protobuf,gflags,googletest,boringssl,cares,zlib。项目 [属性] -> [链接器] -> [常规] -> [附加库目录],添加 gRPC 及其依赖库的目录,如下图所示。[项类型] 选择 [自定义生成工具]。项目 [属性] -> [链接器] -> [输入] -> [附加依赖库],添加 gRPC 及其依赖的库,如下图所示。

weixin_46065254的博客 1211

Window环境下使用go编译grpc最新教程

网上的grpc教程都或多或少有些老或者有些问题,导致最后执行生成文件时会报很多错。这里给出个人实践出可执行的编译命令与碰到的报错与解决方法。最后看了官网,果然只有官网的教程不会太老导致不可用。下载protoc不做介绍请自行下载下载后执行输出类似以下信息则安装成功,否则卸载重新安装下载go编译proto插件下面的命令已废弃!不要使用请使用下面命令!观察GOPATH目录的bin下有两个文件编写search.proto文件执行编译命令以上是煎鱼的grpc教程,可能由于版本或者环境导致现在。

zhaicheng55的博客 2142

gRPC的Golang编译及简单使用

1. 前置条件 Go Protocol buffer编译器:protoc,安装可参考Protocol buffer编译安装 Go 协议编译插件 下载并安装编译插件,这里确保已配置代理可以下载。$ export GO111MODULE=on # Enable module mode $ go get google.golang.org/protobuf/cmd/protoc-gen-go \ google.golang.org/grpc/cmd/protoc-gen-go-grpc #在

turbock的博客 1690

grpc使用记录(一) gRPC编译(mscv/gcc)

目录 1、编译前的准备工作 2、Windows下使用VS2019编译 2.1、使用cmake生成VS2019解决方案 2.2、使用msbuild工具进行编译 3、linux下编译 3.1 CentO S下基本编译环境安装 ...

weixin_30889885的博客 2221

Windows平台C++ 使用VS2015 编译gRPC(总结)

操作系统和VS版本: Win10 和 VS2015 文章写作时间: 2019年11月08日 如果不想折腾,直接去下载编译好的库吧:https://download.csdn.net/download/atceedsun/11966124 注意: VS2013及其以前的版本不能编译gRPC,因为gRPC依赖的protobuf库的...

atceedsun的专栏 5499

GRPC: 使用 Buf 快速编译 GRPC proto 文件

GRPC: 使用 Buf 快速编译 GRPC proto 文件

pointgoal_io的博客 820

windows编译gRPC时遇到的问题,和在Qt中使用的方法

软件及代码版本均为编译使用版本,默认为当时的最新版。 使用VS2017编译gRPC,64位版本。 一、软件准备 perl:strawberry-perl-5.32 地址:https://strawberryperl.com/ 安装后需注意perl中include路径的openssl的版本,需要至少1.1.0的版本,不然编译gRPC时会报“SSL_”无法解析的外部符号的错误(使用grpc-v1.42.x版本,源码中会判断OPENSSL_VERSION_NUMBER的值,编译grpc时会链接opens

u013047941的博客 2521
上一篇: 64位系统下C++各种基本类型的Sizeof大小
a1014702011
博客等级 码龄17年 0粉丝 · 7原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值