QT配置grpc,总结自己踩坑经验后的必看教程

        本篇直入正题,相信用protoc.exe生成需要的两个头文件和两个cpp大家已经在各种教程中已经读过了,而且现在并不需要编译以前的cmake项目,可以直接去官网上下载相应的程序(https://packages.grpc.io/archive/2022/02/cc3de1c3eba4c342c406729649f3c39f829dcdbc-24ad316a-7a17-4194-ac29-a95eceae67c6/index.xml),但是要注意所有的库一定要使用相同的版本,不然出现问题很难找到。

        QT里其实最难的问题就是如何导入grpc的依赖库,这才是配置的难点,在vs中,你可以用链接器选择 *.lib来选择目录下所有的静态库,但是qt无法批量导入,这时候你可能会想是不是导入几个关键的就可以了,答案是不,一定要把grpc依赖包里的近50个静态库一个一个添加进来,这样才不会出错(我使用了相对目录,找到这些静态库后,改下文件名就可以轻松导入所有grpc库了,以下写法采用标准的qt导入静态库的写法,比自己从项目中导入还要简单方便)。总结来说就两点:1、找好include文件,把include文件放到工程目录下(这个在c盘grpc目录下) 2、导入所有的静态库 (在grpc包里)


LIBS += -L$$PWD/staticlib/ -labsl_bad_optional_access
LIBS += -L$$PWD/staticlib/ -labsl_bad_variant_access
LIBS += -L$$PWD/staticlib/ -labsl_base
LIBS += -L$$PWD/staticlib/ -labsl_city
LIBS += -L$$PWD/staticlib/ -labsl_civil_time
LIBS += -L$$PWD/staticlib/ -labsl_cord
LIBS += -L$$PWD/staticlib/ -labsl_debugging_internal
LIBS += -L$$PWD/staticlib/ -labsl_demangle_internal
LIBS += -L$$PWD/staticlib/ -labsl_exponential_biased
LIBS += -L$$PWD/staticlib/ -labsl_graphcycles_internal
LIBS += -L$$PWD/staticlib/ -labsl_hash
LIBS += -L$$PWD/staticlib/ -labsl_hashtablez_sampler
LIBS += -L$$PWD/staticlib/ -labsl_int128
LIBS += -L$$PWD/staticlib/ -labsl_log_severity
LIBS += -L$$PWD/staticlib/ -labsl_malloc_internal
LIBS += -L$$PWD/staticlib/ -labsl_raw_hash_set
LIBS += -L$$PWD/staticlib/ -labsl_raw_logging_internal
LIBS += -L$$PWD/staticlib/ -labsl_spinlock_wait
LIBS += -L$$PWD/staticlib/ -labsl_stacktrace
LIBS += -L$$PWD/staticlib/ -labsl_status
LIBS += -L$$PWD/staticlib/ -labsl_str_format_internal
LIBS += -L$$PWD/staticlib/ -labsl_strings
LIBS += -L$$PWD/staticlib/ -labsl_strings_internal
LIBS += -L$$PWD/staticlib/ -labsl_symbolize
LIBS += -L$$PWD/staticlib/ -labsl_synchronization
LIBS += -L$$PWD/staticlib/ -labsl_throw_delegate
LIBS += -L$$PWD/staticlib/ -labsl_time
LIBS += -L$$PWD/staticlib/ -labsl_time_zone
LIBS += -L$$PWD/staticlib/ -laddress_sorting
LIBS += -L$$PWD/staticlib/ -lcares
LIBS += -L$$PWD/staticlib/ -lcrypto
LIBS += -L$$PWD/staticlib/ -lgpr
LIBS += -L$$PWD/staticlib/ -lgrpc
LIBS += -L$$PWD/staticlib/ -lgrpc_plugin_support
LIBS += -L$$PWD/staticlib/ -lgrpc_unsecure
LIBS += -L$$PWD/staticlib/ -lgrpc++
LIBS += -L$$PWD/staticlib/ -lgrpc++_alts
LIBS += -L$$PWD/staticlib/ -lgrpc++_error_details
LIBS += -L$$PWD/staticlib/ -lgrpc++_reflection
LIBS += -L$$PWD/staticlib/ -lgrpc++_unsecure
LIBS += -L$$PWD/staticlib/ -lgrpcpp_channelz
LIBS += -L$$PWD/staticlib/ -llibprotobufd
LIBS += -L$$PWD/staticlib/ -llibprotobuf-lited
LIBS += -L$$PWD/staticlib/ -llibprotocd
LIBS += -L$$PWD/staticlib/ -lre2
LIBS += -L$$PWD/staticlib/ -lssl
LIBS += -L$$PWD/staticlib/ -lupb
LIBS += -L$$PWD/staticlib/ -lzlibd
LIBS += -L$$PWD/staticlib/ -lzlibstaticd

        ps:这时如果可以编译通过,但是无法运行(出现一个程序异常结束),那么你需要进入到你build的debug路径下,你双击编译出的exe文件,会提示你缺少zlibd.dll。这时只需要把这个文件放到这个路径下,整个项目就可以编译运行了。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值