嗯,这是之前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