| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 游戏开发 -> C++创建HelloWorld项目测试 -> 正文阅读 |
|
[游戏开发]C++创建HelloWorld项目测试 |
一. 空模板创建项目创建一个C++空项目gRPC_Server, 本例使用Debug模式编译 二、拷贝项目文件拷贝文件到gRPC_Server所在的目录中
三.??生成pb文件cmd中输入如下命令,生成4个pb文件: protoc.exe --grpc_out=. --plugin=protoc-gen-grpc=grpc_cpp_plugin.exe helloworld.proto protoc.exe --cpp_out=. helloworld.proto ?四.??设置项目属性把文件关联到项目中: 拷贝相关依赖包,使得项目能够独立运行:
? ? ? ? ? ? ? ? ? ? ? ? D:\GRPCProject\gRPC_Project\grpc\.build\Debug ????????????????????????D:\GRPCProject\gRPC_Project\grpc\.build\third_party\cares\cares\lib\Debug ????????????????????????D:\GRPCProject\gRPC_Project\grpc\.build\third_party\zlib\Debug ????????????????????????D:\GRPCProject\gRPC_Project\grpc\.build\third_party\protobuf\Debug 4.1 【c/c++】-【常规】-【附件包含目录】D:\GRPCProject\gRPC_Project\gRPC_Server\gRPC_Server\depends\grpc\include D:\GRPCProject\gRPC_Project\gRPC_Server\gRPC_Server\depends\grpc\protobuf\src 4.2 【c/c++】-【预处理器】-【预处理器定义】?添加:_WIN32_WINNT=0x0A00 ?4.3 【链接器】-【常规】-【附加库目录】D:\GRPCProject\gRPC_Project\gRPC_Server\gRPC_Server\depends\third_party 4.4 【链接器】-【输入】-【附加依赖项】libprotobufd.lib grpc.lib grpc++.lib gpr.lib Ws2_32.lib zlibd.lib cares.lib address_sorting.lib ?五.? 编译项目1.报错:E1696 无法打开 源 文件 "absl/synchronization/mutex.h",意思是缺少相关的头文件,进行头文件的添加。 解决:复制D:\GRPCProject\gRPC_Project\grpc\third_party\abseil-cpp下的文件到grpc. ?然后【c/c++】-【常规】-【附件包含目录】 2.再次点击运行,报错为:LNK2001? 无法解析的外部符号 "public: __cdecl absl::Mutex::~Mutex(void)" 意思是:缺少头文件依赖的文件函数 解决:把D:\GRPCProject\gRPC_Project\grpc_install\lib路径下所以的lib文件拷贝到grpc third_party中,【链接器】-【输入】-【附加依赖项】中添加所以拷贝过去的文件名。 文件名太多,不想一个个复制,用python进行获取文件名:
? 获取的文件名为: absl_bad_any_cast_impl.lib 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_leak_check_disable.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 zlibstaticd.lib 文件名添加后,重新运行,成功! |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 | -2025/1/16 20:02:57- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |