qt的grpc链接和配置

嗯,这是之前vs调用grpc成功之后的博客,如果没有过我之前那篇最新的grpc生成和编译的博客,可以先去看一下,其实不看也行,只要你能运行grpc成功就行,下面是博客链接

google rpc(grpc)最新版本1.62.1以及使用vs2022的编译和运行(C++调用python端)

然后东西都有了,那我们来配置吧!

我之前看了一下qt的官方文档,自从qt6.5之后就有了grpc功能了,但是具体怎么用我是真没看懂,所以我选择最原始的方式,那就是我直接加静态库

首先,在项目的.pro里面加上这一行

INCLUDEPATH += "C:/Program Files (x86)/grpc/include"

这个目录就是之前那篇博客里面vs打开grpc.sln在ALL BUILD之后进行INSTALL生成的目录

然后加lib库,这个库有100多个,老老实实加是不可能的,这辈子都不可能的,只能用python偷偷懒这样子,下面附上代码

path = 'C:\\Users\\Scarborough\\Desktop\\新建文本文档.txt'
data = []
with open(path) as f:
    data.append(f.readlines())
data = [[x] for x in data[0]]
for i in range(0,len(data)):
    data[i] = "LIBS += -L\"C:/Program Files (x86)/grpc/lib\" -l"+data[i][0][:-5]
for i in range(0,len(data)):
    print(data[i])

这个代码的效果就是把你txt文件里面的每一行进行输出,例如我的txt是这样的

运行之后的输出就是这样的

然后直接复制粘贴过来,就像这样

qt的版本是用的6.7,我之前用的6.5.2,加过了之后不知道为啥重新构建巨卡,还报错1000+,但是换成6.7飞快,而且不报错,我也不知道什么原理

然后点击运行,这边如果能够生成默认的窗口,那我想配置就没问题了,虽然没写服务端,但不报错,那就说明这些grpc的协议生成的文件基本全都能够识别了

好了,最后附上我用pycharm跑出来的结果,话说上一篇博客英文打错好多,当时是真的很累了,已经不想思考这些细节了

LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_bad_any_cast_impl
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_bad_optional_access
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_bad_variant_access
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_base
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_city
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_civil_time
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_cord
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_cordz_functions
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_cordz_handle
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_cordz_info
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_cordz_sample_token
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_cord_internal
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_crc32c
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_crc_cord_state
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_crc_cpu_detect
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_crc_internal
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_debugging_internal
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_demangle_internal
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_die_if_null
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_examine_stack
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_exponential_biased
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_failure_signal_handler
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_flags_commandlineflag
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_flags_commandlineflag_internal
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_flags_config
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_flags_internal
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_flags_marshalling
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_flags_parse
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_flags_private_handle_accessor
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_flags_program_name
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_flags_reflection
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_flags_usage
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_flags_usage_internal
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_graphcycles_internal
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_hash
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_hashtablez_sampler
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_int128
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_kernel_timeout_internal
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_leak_check
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_log_entry
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_log_flags
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_log_globals
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_log_initialize
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_log_internal_check_op
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_log_internal_conditions
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_log_internal_fnmatch
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_log_internal_format
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_log_internal_globals
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_log_internal_log_sink_set
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_log_internal_message
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_log_internal_nullguard
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_log_internal_proto
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_log_severity
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_log_sink
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_low_level_hash
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_malloc_internal
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_periodic_sampler
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_random_distributions
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_random_internal_distribution_test_util
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_random_internal_platform
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_random_internal_pool_urbg
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_random_internal_randen
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_random_internal_randen_hwaes
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_random_internal_randen_hwaes_impl
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_random_internal_randen_slow
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_random_internal_seed_material
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_random_seed_gen_exception
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_random_seed_sequences
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_raw_hash_set
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_raw_logging_internal
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_scoped_set_env
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_spinlock_wait
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_stacktrace
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_status
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_statusor
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_strerror
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_strings
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_strings_internal
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_string_view
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_str_format_internal
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_symbolize
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_synchronization
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_throw_delegate
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_time
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_time_zone
LIBS += -L"C:/Program Files (x86)/grpc/lib" -labsl_vlog_config_internal
LIBS += -L"C:/Program Files (x86)/grpc/lib" -laddress_sorting
LIBS += -L"C:/Program Files (x86)/grpc/lib" -lcares
LIBS += -L"C:/Program Files (x86)/grpc/lib" -lcrypto
LIBS += -L"C:/Program Files (x86)/grpc/lib" -lgpr
LIBS += -L"C:/Program Files (x86)/grpc/lib" -lgrpc++
LIBS += -L"C:/Program Files (x86)/grpc/lib" -lgrpc++_alts
LIBS += -L"C:/Program Files (x86)/grpc/lib" -lgrpc++_error_details
LIBS += -L"C:/Program Files (x86)/grpc/lib" -lgrpc++_reflection
LIBS += -L"C:/Program Files (x86)/grpc/lib" -lgrpc++_unsecure
LIBS += -L"C:/Program Files (x86)/grpc/lib" -lgrpc
LIBS += -L"C:/Program Files (x86)/grpc/lib" -lgrpcpp_channelz
LIBS += -L"C:/Program Files (x86)/grpc/lib" -lgrpc_authorization_provider
LIBS += -L"C:/Program Files (x86)/grpc/lib" -lgrpc_plugin_support
LIBS += -L"C:/Program Files (x86)/grpc/lib" -lgrpc_unsecure
LIBS += -L"C:/Program Files (x86)/grpc/lib" -llibprotobuf-lited
LIBS += -L"C:/Program Files (x86)/grpc/lib" -llibprotobufd
LIBS += -L"C:/Program Files (x86)/grpc/lib" -llibprotocd
LIBS += -L"C:/Program Files (x86)/grpc/lib" -lre2
LIBS += -L"C:/Program Files (x86)/grpc/lib" -lssl
LIBS += -L"C:/Program Files (x86)/grpc/lib" -lupb_base_lib
LIBS += -L"C:/Program Files (x86)/grpc/lib" -lupb_json_lib
LIBS += -L"C:/Program Files (x86)/grpc/lib" -lupb_mem_lib
LIBS += -L"C:/Program Files (x86)/grpc/lib" -lupb_message_lib
LIBS += -L"C:/Program Files (x86)/grpc/lib" -lupb_textformat_lib
LIBS += -L"C:/Program Files (x86)/grpc/lib" -lutf8_range
LIBS += -L"C:/Program Files (x86)/grpc/lib" -lutf8_range_lib
LIBS += -L"C:/Program Files (x86)/grpc/lib" -lutf8_validity
LIBS += -L"C:/Program Files (x86)/grpc/lib" -lzlibd
LIBS += -L"C:/Program Files (x86)/grpc/lib" -lzlibstatic

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Ubuntu是一个基于Linux操作系统的操作系统。它具有开源和免费的特点,并且有一个庞大的用户群体,因此被认为是最受欢迎的Linux发行版之一。 Qt是一个跨平台的应用程序开发框架。它由挪威的Trolltech公司开发,并且现在由Qt公司维护。Qt可以用于开发各种类型的应用程序,包括桌面应用程序、移动应用程序和嵌入式系统。 gRPC是Google开发的一种高性能的远程过程调用框架。它基于HTTP/2和Protocol Buffers,并且支持多种编程语言gRPC可以用于构建分布式系统,使不同的服务可以相互通信,并在网络上交换数据。 在Ubuntu上使用QtgRPC可以实现强大的应用程序开发Qt提供了丰富的图形用户界面和功能,使开发者能够轻松创建各种类型的应用程序。而gRPC可以提供高效的远程调用机制,使分布式系统的各个部分能够快速地进行通信。这对于构建大型和复杂的应用程序是非常有帮助的。 使用Ubuntu上的QtgRPC的优势之一是跨平台性。由于Ubuntu本身是一个基于Linux的操作系统,因此QtgRPC可以完美地在Ubuntu上运行。开发者可以在Ubuntu上开发应用程序,并轻松地将其移植到其他操作系统上。 此外,Ubuntu上的QtgRPC都是开源的,这意味着开发者可以自由地使用和修改它们。这使得开发过程更加灵活,并且可以根据具体需求对它们进行定制。 总而言之,Ubuntu上的QtgRPC是强大的工具,可用于开发各种类型的应用程序。它们的跨平台性和开源性使得开发过程更加方便和灵活。如果你对应用程序开发感兴趣,我建议你试试使用Ubuntu上的QtgRPC

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值