grpc++: linker errors

2,478 views
Skip to first unread message

Parker Huang

unread,
Mar 22, 2022, 11:23:13 AM3/22/22
to grpc.io
Hi, any idea why a sample hello world C++ can't work on Windows? I tried in both Visual Studio 2017 and 2019, both failed. Thanks for your help in advance.

Following the https://git.autodesk.com/autodesk-forks/grpc/blob/master/BUILDING.md and use CMAKE to build grpc, I can successfully build all 134 projects in Visual Studio 2017 and 2019. 
I then create a sample Win 32 Console application and start to write the sample hello world. I get a couple of issues:
First issue is compile failed. When just add: #include <grpcpp/grpcpp.h> in the main.cpp and set include path/to/grpc/include, I get: 
`include\grpcpp\impl\codegen\sync.h(32): fatal error C1083: Cannot open include file: 'absl/synchronization/mutex.h': No such file or directory`
It seems introduced by grpc\include\grpcpp\impl\codegen\sync.h has a statement: #include "absl/synchronization/mutex.h"
Ok, I include this directory to Visual Studio Sample Project include path : grpc\third_party\abseil-cpp
Now compile passed.

Then I added a linker dependent lib: grpc\.build\Debug\grpc++.lib
 And copy sample code and place in the main function as follows:

std::string server_address("0.0.0.0:50051");
    //TranslatorServiceImpl service;

    // grpc::EnableDefaultHealthCheckService(true);
    // grpc::reflection::InitProtoReflectionServerBuilderPlugin();
    ServerBuilder builder;
    // Listen on the given address without any authentication mechanism.
    builder.AddListeningPort(server_address, grpc::InsecureServerCredentials());
    // Register "service" as the instance through which we'll communicate with
    // clients. In this case it corresponds to an *synchronous* service.
    //builder.RegisterService(&service);
    // Finally assemble the server.
    std::unique_ptr<Server> server(builder.BuildAndStart());
    std::cout << "Server listening on " << server_address << std::endl;

    // Wait for the server to shutdown. Note that some other thread must be
    // responsible for shutting down the server for this call to ever return.
    server->Wait();

It is surprising to see so many linker issues for unresolved symbol:

1>------ Rebuild All started: Project: ConsoleApplication4, Configuration: Debug x64 ------
1>pch.cpp
1>ConsoleApplication4.cpp
1>grpc++.lib(insecure_server_credentials.obj) : error LNK2019: unresolved external symbol grpc_server_credentials_release referenced in function "public: virtual int __cdecl grpc::`anonymous namespace'::InsecureServerCredentialsImpl::AddPortToServer(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,struct grpc_server *)" (?AddPortToServer@InsecureServerCredentialsImpl@?A0x7de0b3d2@grpc@@UEAAHAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PEAUgrpc_server@@@Z)
1>grpc++.lib(insecure_server_credentials.obj) : error LNK2019: unresolved external symbol grpc_server_add_http2_port referenced in function "public: virtual int __cdecl grpc::`anonymous namespace'::InsecureServerCredentialsImpl::AddPortToServer(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,struct grpc_server *)" (?AddPortToServer@InsecureServerCredentialsImpl@?A0x7de0b3d2@grpc@@UEAAHAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PEAUgrpc_server@@@Z)
1>grpc++.lib(insecure_server_credentials.obj) : error LNK2019: unresolved external symbol grpc_insecure_server_credentials_create referenced in function "public: virtual int __cdecl grpc::`anonymous namespace'::InsecureServerCredentialsImpl::AddPortToServer(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,struct grpc_server *)" (?AddPortToServer@InsecureServerCredentialsImpl@?A0x7de0b3d2@grpc@@UEAAHAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PEAUgrpc_server@@@Z)
1>grpc++.lib(client_interceptor.obj) : error LNK2001: unresolved external symbol gpr_log
1>grpc++.lib(default_health_check_service.obj) : error LNK2001: unresolved external symbol gpr_log
1>grpc++.lib(thread_manager.obj) : error LNK2001: unresolved external symbol gpr_log
1>grpc++.lib(channel_cc.obj) : error LNK2001: unresolved external symbol gpr_log
1>grpc++.lib(client_context.obj) : error LNK2001: unresolved external symbol gpr_log
1>grpc++.lib(external_connection_acceptor_impl.obj) : error LNK2001: unresolved external symbol gpr_log
1>grpc++.lib(core_codegen.obj) : error LNK2001: unresolved external symbol gpr_log
1>grpc++.lib(completion_queue_cc.obj) : error LNK2001: unresolved external symbol gpr_log
1>grpc++.lib(server_context.obj) : error LNK2001: unresolved external symbol gpr_log
1>grpc++.lib(insecure_server_credentials.obj) : error LNK2001: unresolved external symbol gpr_log
1>grpc++.lib(server_builder.obj) : error LNK2001: unresolved external symbol gpr_log
1>grpc++.lib(channel_arguments.obj) : error LNK2001: unresolved external symbol gpr_log
1>grpc++.lib(server_cc.obj) : error LNK2001: unresolved external symbol gpr_log
1>grpc++.lib(default_health_check_service.obj) : error LNK2001: unresolved external symbol "public: __cdecl absl::lts_20211102::Mutex::~Mutex(void)" (??1Mutex@lts_20211102@absl@@QEAA@XZ)
1>grpc++.lib(thread_manager.obj) : error LNK2001: unresolved external symbol "public: __cdecl absl::lts_20211102::Mutex::~Mutex(void)" (??1Mutex@lts_20211102@absl@@QEAA@XZ)
1>grpc++.lib(channel_cc.obj) : error LNK2001: unresolved external symbol "public: __cdecl absl::lts_20211102::Mutex::~Mutex(void)" (??1Mutex@lts_20211102@absl@@QEAA@XZ)
1>grpc++.lib(client_context.obj) : error LNK2001: unresolved external symbol "public: __cdecl absl::lts_20211102::Mutex::~Mutex(void)" (??1Mutex@lts_20211102@absl@@QEAA@XZ)
1>grpc++.lib(server_builder.obj) : error LNK2001: unresolved external symbol "public: __cdecl absl::lts_20211102::Mutex::~Mutex(void)" (??1Mutex@lts_20211102@absl@@QEAA@XZ)
1>grpc++.lib(server_cc.obj) : error LNK2001: unresolved external symbol "public: __cdecl absl::lts_20211102::Mutex::~Mutex(void)" (??1Mutex@lts_20211102@absl@@QEAA@XZ)
1>grpc++.lib(completion_queue_cc.obj) : error LNK2001: unresolved external symbol "public: __cdecl absl::lts_20211102::Mutex::~Mutex(void)" (??1Mutex@lts_20211102@absl@@QEAA@XZ)
1>grpc++.lib(server_context.obj) : error LNK2001: unresolved external symbol "public: __cdecl absl::lts_20211102::Mutex::~Mutex(void)" (??1Mutex@lts_20211102@absl@@QEAA@XZ)
1>grpc++.lib(client_context.obj) : error LNK2001: unresolved external symbol "public: void __cdecl absl::lts_20211102::Mutex::Lock(void)" (?Lock@Mutex@lts_20211102@absl@@QEAAXXZ)
1>grpc++.lib(server_context.obj) : error LNK2001: unresolved external symbol "public: void __cdecl absl::lts_20211102::Mutex::Lock(void)" (?Lock@Mutex@lts_20211102@absl@@QEAAXXZ)
1>grpc++.lib(default_health_check_service.obj) : error LNK2001: unresolved external symbol "public: void __cdecl absl::lts_20211102::Mutex::Lock(void)" (?Lock@Mutex@lts_20211102@absl@@QEAAXXZ)
1>grpc++.lib(thread_manager.obj) : error LNK2001: unresolved external symbol "public: void __cdecl absl::lts_20211102::Mutex::Lock(void)" (?Lock@Mutex@lts_20211102@absl@@QEAAXXZ)
1>grpc++.lib(channel_cc.obj) : error LNK2001: unresolved external symbol "public: void __cdecl absl::lts_20211102::Mutex::Lock(void)" (?Lock@Mutex@lts_20211102@absl@@QEAAXXZ)
1>grpc++.lib(server_builder.obj) : error LNK2001: unresolved external symbol "public: void __cdecl absl::lts_20211102::Mutex::Lock(void)" (?Lock@Mutex@lts_20211102@absl@@QEAAXXZ)
1>grpc++.lib(server_cc.obj) : error LNK2001: unresolved external symbol "public: void __cdecl absl::lts_20211102::Mutex::Lock(void)" (?Lock@Mutex@lts_20211102@absl@@QEAAXXZ)
1>grpc++.lib(external_connection_acceptor_impl.obj) : error LNK2001: unresolved external symbol "public: void __cdecl absl::lts_20211102::Mutex::Lock(void)" (?Lock@Mutex@lts_20211102@absl@@QEAAXXZ)
1>grpc++.lib(completion_queue_cc.obj) : error LNK2001: unresolved external symbol "public: void __cdecl absl::lts_20211102::Mutex::Lock(void)" (?Lock@Mutex@lts_20211102@absl@@QEAAXXZ)
1>grpc++.lib(client_context.obj) : error LNK2001: unresolved external symbol "public: void __cdecl absl::lts_20211102::Mutex::Unlock(void)" (?Unlock@Mutex@lts_20211102@absl@@QEAAXXZ)
1>grpc++.lib(server_context.obj) : error LNK2001: unresolved external symbol "public: void __cdecl absl::lts_20211102::Mutex::Unlock(void)" (?Unlock@Mutex@lts_20211102@absl@@QEAAXXZ)
1>grpc++.lib(default_health_check_service.obj) : error LNK2001: unresolved external symbol "public: void __cdecl absl::lts_20211102::Mutex::Unlock(void)" (?Unlock@Mutex@lts_20211102@absl@@QEAAXXZ)
1>grpc++.lib(thread_manager.obj) : error LNK2001: unresolved external symbol "public: void __cdecl absl::lts_20211102::Mutex::Unlock(void)" (?Unlock@Mutex@lts_20211102@absl@@QEAAXXZ)
1>grpc++.lib(channel_cc.obj) : error LNK2001: unresolved external symbol "public: void __cdecl absl::lts_20211102::Mutex::Unlock(void)" (?Unlock@Mutex@lts_20211102@absl@@QEAAXXZ)
1>grpc++.lib(server_builder.obj) : error LNK2001: unresolved external symbol "public: void __cdecl absl::lts_20211102::Mutex::Unlock(void)" (?Unlock@Mutex@lts_20211102@absl@@QEAAXXZ)
1>grpc++.lib(server_cc.obj) : error LNK2001: unresolved external symbol "public: void __cdecl absl::lts_20211102::Mutex::Unlock(void)" (?Unlock@Mutex@lts_20211102@absl@@QEAAXXZ)
1>grpc++.lib(external_connection_acceptor_impl.obj) : error LNK2001: unresolved external symbol "public: void __cdecl absl::lts_20211102::Mutex::Unlock(void)" (?Unlock@Mutex@lts_20211102@absl@@QEAAXXZ)
1>grpc++.lib(completion_queue_cc.obj) : error LNK2001: unresolved external symbol "public: void __cdecl absl::lts_20211102::Mutex::Unlock(void)" (?Unlock@Mutex@lts_20211102@absl@@QEAAXXZ)
1>grpc++.lib(server_builder.obj) : error LNK2019: unresolved external symbol gpr_once_init referenced in function "public: __cdecl grpc::ServerBuilder::ServerBuilder(void)" (??0ServerBuilder@grpc@@QEAA@XZ)
1>grpc++.lib(server_cc.obj) : error LNK2001: unresolved external symbol gpr_once_init
1>grpc++.lib(completion_queue_cc.obj) : error LNK2001: unresolved external symbol gpr_once_init
1>grpc++.lib(server_builder.obj) : error LNK2019: unresolved external symbol grpc_server_register_completion_queue referenced in function "public: virtual class std::unique_ptr<class grpc::Server,struct std::default_delete<class grpc::Server> > __cdecl grpc::ServerBuilder::BuildAndStart(void)" (?BuildAndStart@ServerBuilder@grpc@@UEAA?AV?$unique_ptr@VServer@grpc@@U?$default_delete@VServer@grpc@@@std@@@std@@XZ)
1>grpc++.lib(server_cc.obj) : error LNK2001: unresolved external symbol grpc_server_register_completion_queue
1>grpc++.lib(server_builder.obj) : error LNK2019: unresolved external symbol grpc_resource_quota_ref referenced in function "public: class grpc::ServerBuilder & __cdecl grpc::ServerBuilder::SetResourceQuota(class grpc::ResourceQuota const &)" (?SetResourceQuota@ServerBuilder@grpc@@QEAAAEAV12@AEBVResourceQuota@2@@Z)
1>grpc++.lib(server_builder.obj) : error LNK2019: unresolved external symbol grpc_resource_quota_unref referenced in function "public: virtual __cdecl grpc::ServerBuilder::~ServerBuilder(void)" (??1ServerBuilder@grpc@@UEAA@XZ)
1>grpc++.lib(server_cc.obj) : error LNK2001: unresolved external symbol grpc_resource_quota_unref
1>grpc++.lib(server_builder.obj) : error LNK2019: unresolved external symbol grpc_resource_quota_arg_vtable referenced in function "protected: virtual class grpc::ChannelArguments __cdecl grpc::ServerBuilder::BuildChannelArgs(void)" (?BuildChannelArgs@ServerBuilder@grpc@@MEAA?AVChannelArguments@2@XZ)
1>grpc++.lib(channel_arguments.obj) : error LNK2001: unresolved external symbol grpc_resource_quota_arg_vtable
1>grpc++.lib(server_builder.obj) : error LNK2019: unresolved external symbol grpc_authorization_policy_provider_arg_vtable referenced in function "protected: virtual class grpc::ChannelArguments __cdecl grpc::ServerBuilder::BuildChannelArgs(void)" (?BuildChannelArgs@ServerBuilder@grpc@@MEAA?AVChannelArguments@2@XZ)
1>grpc++.lib(server_builder.obj) : error LNK2019: unresolved external symbol "int __cdecl gpr_ltoa(long,char *)" (?gpr_ltoa@@YAHJPEAD@Z) referenced in function "public: class std::unique_ptr<class grpc::experimental::ExternalConnectionAcceptor,struct std::default_delete<class grpc::experimental::ExternalConnectionAcceptor> > __cdecl grpc::ServerBuilder::experimental_type::AddExternalConnectionAcceptor(enum grpc::ServerBuilder::experimental_type::ExternalConnectionType,class std::shared_ptr<class grpc::ServerCredentials>)" (?AddExternalConnectionAcceptor@experimental_type@ServerBuilder@grpc@@QEAA?AV?$unique_ptr@VExternalConnectionAcceptor@experimental@grpc@@U?$default_delete@VExternalConnectionAcceptor@experimental@grpc@@@std@@@std@@W4ExternalConnectionType@123@V?$shared_ptr@VServerCredentials@grpc@@@5@@Z)
1>grpc++.lib(server_context.obj) : error LNK2001: unresolved external symbol grpc_init
1>grpc++.lib(channel_cc.obj) : error LNK2001: unresolved external symbol grpc_init
1>grpc++.lib(byte_buffer_cc.obj) : error LNK2001: unresolved external symbol grpc_init
1>grpc++.lib(client_context.obj) : error LNK2001: unresolved external symbol grpc_init
1>grpc++.lib(server_credentials.obj) : error LNK2001: unresolved external symbol grpc_init
1>grpc++.lib(server_cc.obj) : error LNK2001: unresolved external symbol grpc_init
1>grpc++.lib(core_codegen.obj) : error LNK2001: unresolved external symbol grpc_init
1>grpc++.lib(completion_queue_cc.obj) : error LNK2001: unresolved external symbol grpc_init
1>grpc++.lib(server_context.obj) : error LNK2001: unresolved external symbol grpc_shutdown
1>grpc++.lib(channel_cc.obj) : error LNK2001: unresolved external symbol grpc_shutdown
1>grpc++.lib(byte_buffer_cc.obj) : error LNK2001: unresolved external symbol grpc_shutdown
1>grpc++.lib(client_context.obj) : error LNK2001: unresolved external symbol grpc_shutdown
1>grpc++.lib(server_credentials.obj) : error LNK2001: unresolved external symbol grpc_shutdown
1>grpc++.lib(server_cc.obj) : error LNK2001: unresolved external symbol grpc_shutdown
1>grpc++.lib(core_codegen.obj) : error LNK2001: unresolved external symbol grpc_shutdown
1>grpc++.lib(completion_queue_cc.obj) : error LNK2001: unresolved external symbol grpc_shutdown
1>grpc++.lib(channel_arguments.obj) : error LNK2019: unresolved external symbol "private: static void __cdecl grpc_core::Fork::DoIncExecCtxCount(void)" (?DoIncExecCtxCount@Fork@grpc_core@@CAXXZ) referenced in function "public: static void __cdecl grpc_core::Fork::IncExecCtxCount(void)" (?IncExecCtxCount@Fork@grpc_core@@SAXXZ)
1>grpc++.lib(server_cc.obj) : error LNK2001: unresolved external symbol "private: static void __cdecl grpc_core::Fork::DoIncExecCtxCount(void)" (?DoIncExecCtxCount@Fork@grpc_core@@CAXXZ)
1>grpc++.lib(server_callback.obj) : error LNK2001: unresolved external symbol "private: static void __cdecl grpc_core::Fork::DoIncExecCtxCount(void)" (?DoIncExecCtxCount@Fork@grpc_core@@CAXXZ)
1>grpc++.lib(channel_arguments.obj) : error LNK2019: unresolved external symbol "private: static void __cdecl grpc_core::Fork::DoDecExecCtxCount(void)" (?DoDecExecCtxCount@Fork@grpc_core@@CAXXZ) referenced in function "public: static void __cdecl grpc_core::Fork::DecExecCtxCount(void)" (?DecExecCtxCount@Fork@grpc_core@@SAXXZ)
1>grpc++.lib(server_cc.obj) : error LNK2001: unresolved external symbol "private: static void __cdecl grpc_core::Fork::DoDecExecCtxCount(void)" (?DoDecExecCtxCount@Fork@grpc_core@@CAXXZ)
1>grpc++.lib(server_callback.obj) : error LNK2001: unresolved external symbol "private: static void __cdecl grpc_core::Fork::DoDecExecCtxCount(void)" (?DoDecExecCtxCount@Fork@grpc_core@@CAXXZ)
1>grpc++.lib(channel_arguments.obj) : error LNK2019: unresolved external symbol "public: bool __cdecl grpc_core::ExecCtx::Flush(void)" (?Flush@ExecCtx@grpc_core@@QEAA_NXZ) referenced in function "public: virtual __cdecl grpc_core::ExecCtx::~ExecCtx(void)" (??1ExecCtx@grpc_core@@UEAA@XZ)
1>grpc++.lib(server_cc.obj) : error LNK2001: unresolved external symbol "public: bool __cdecl grpc_core::ExecCtx::Flush(void)" (?Flush@ExecCtx@grpc_core@@QEAA_NXZ)
1>grpc++.lib(server_callback.obj) : error LNK2001: unresolved external symbol "public: bool __cdecl grpc_core::ExecCtx::Flush(void)" (?Flush@ExecCtx@grpc_core@@QEAA_NXZ)
1>grpc++.lib(channel_arguments.obj) : error LNK2019: unresolved external symbol "struct grpc_arg __cdecl grpc_socket_mutator_to_arg(struct grpc_socket_mutator *)" (?grpc_socket_mutator_to_arg@@YA?AUgrpc_arg@@PEAUgrpc_socket_mutator@@@Z) referenced in function "public: void __cdecl grpc::ChannelArguments::SetSocketMutator(struct grpc_socket_mutator *)" (?SetSocketMutator@ChannelArguments@grpc@@QEAAXPEAUgrpc_socket_mutator@@@Z)
1>grpc++.lib(channel_arguments.obj) : error LNK2001: unresolved external symbol "private: static struct std::atomic<bool> grpc_core::Fork::support_enabled_" (?support_enabled_@Fork@grpc_core@@0U?$atomic@_N@std@@A)
1>grpc++.lib(server_cc.obj) : error LNK2001: unresolved external symbol "private: static struct std::atomic<bool> grpc_core::Fork::support_enabled_" (?support_enabled_@Fork@grpc_core@@0U?$atomic@_N@std@@A)
1>grpc++.lib(server_callback.obj) : error LNK2001: unresolved external symbol "private: static struct std::atomic<bool> grpc_core::Fork::support_enabled_" (?support_enabled_@Fork@grpc_core@@0U?$atomic@_N@std@@A)
1>grpc++.lib(channel_arguments.obj) : error LNK2001: unresolved external symbol "private: static class grpc_core::ExecCtx * grpc_core::ExecCtx::exec_ctx_" (?exec_ctx_@ExecCtx@grpc_core@@0PEAV12@EA)
1>grpc++.lib(server_cc.obj) : error LNK2001: unresolved external symbol "private: static class grpc_core::ExecCtx * grpc_core::ExecCtx::exec_ctx_" (?exec_ctx_@ExecCtx@grpc_core@@0PEAV12@EA)
1>grpc++.lib(server_callback.obj) : error LNK2001: unresolved external symbol "private: static class grpc_core::ExecCtx * grpc_core::ExecCtx::exec_ctx_" (?exec_ctx_@ExecCtx@grpc_core@@0PEAV12@EA)
1>grpc++.lib(server_cc.obj) : error LNK2019: unresolved external symbol grpc_byte_buffer_destroy referenced in function "public: virtual __cdecl grpc::Server::CallbackRequest<class grpc::CallbackServerContext>::~CallbackRequest<class grpc::CallbackServerContext>(void)" (??1?$CallbackRequest@VCallbackServerContext@grpc@@@Server@grpc@@UEAA@XZ)
1>grpc++.lib(core_codegen.obj) : error LNK2001: unresolved external symbol grpc_byte_buffer_destroy
1>grpc++.lib(server_cc.obj) : error LNK2019: unresolved external symbol grpc_slice_unref referenced in function "public: virtual bool __cdecl grpc::ServerInterface::GenericAsyncRequest::FinalizeResult(void * *,bool *)" (?FinalizeResult@GenericAsyncRequest@ServerInterface@grpc@@UEAA_NPEAPEAXPEA_N@Z)
1>grpc++.lib(core_codegen.obj) : error LNK2001: unresolved external symbol grpc_slice_unref
1>grpc++.lib(channel_cc.obj) : error LNK2001: unresolved external symbol grpc_slice_unref
1>grpc++.lib(server_cc.obj) : error LNK2019: unresolved external symbol gpr_inf_future referenced in function "public: void __cdecl grpc::Server::SyncRequest::ContinueRunAfterInterception(void)" (?ContinueRunAfterInterception@SyncRequest@Server@grpc@@QEAAXXZ)
1>grpc++.lib(core_codegen.obj) : error LNK2001: unresolved external symbol gpr_inf_future
1>grpc++.lib(server_context.obj) : error LNK2001: unresolved external symbol gpr_inf_future
1>grpc++.lib(client_context.obj) : error LNK2001: unresolved external symbol gpr_inf_future
1>grpc++.lib(server_cc.obj) : error LNK2019: unresolved external symbol gpr_now referenced in function "public: virtual enum grpc::ThreadManager::WorkStatus __cdecl grpc::Server::SyncRequestThreadManager::PollForWork(void * *,bool *)" (?PollForWork@SyncRequestThreadManager@Server@grpc@@UEAA?AW4WorkStatus@ThreadManager@3@PEAPEAXPEA_N@Z)
1>grpc++.lib(completion_queue_cc.obj) : error LNK2001: unresolved external symbol gpr_now
1>grpc++.lib(server_cc.obj) : error LNK2019: unresolved external symbol gpr_time_add referenced in function "public: virtual enum grpc::ThreadManager::WorkStatus __cdecl grpc::Server::SyncRequestThreadManager::PollForWork(void * *,bool *)" (?PollForWork@SyncRequestThreadManager@Server@grpc@@UEAA?AW4WorkStatus@ThreadManager@3@PEAPEAXPEA_N@Z)
1>grpc++.lib(completion_queue_cc.obj) : error LNK2001: unresolved external symbol gpr_time_add
1>grpc++.lib(server_cc.obj) : error LNK2019: unresolved external symbol gpr_time_from_millis referenced in function "public: virtual enum grpc::ThreadManager::WorkStatus __cdecl grpc::Server::SyncRequestThreadManager::PollForWork(void * *,bool *)" (?PollForWork@SyncRequestThreadManager@Server@grpc@@UEAA?AW4WorkStatus@ThreadManager@3@PEAPEAXPEA_N@Z)
1>grpc++.lib(completion_queue_cc.obj) : error LNK2001: unresolved external symbol gpr_time_from_millis
1>grpc++.lib(server_cc.obj) : error LNK2019: unresolved external symbol grpc_metadata_array_init referenced in function "private: void __cdecl grpc::Server::CallbackRequest<class grpc::GenericCallbackServerContext>::CommonSetup<struct grpc_core::Server::BatchCallAllocation>(class grpc::Server *,struct grpc_core::Server::BatchCallAllocation *)" (??$CommonSetup@UBatchCallAllocation@Server@grpc_core@@@?$CallbackRequest@VGenericCallbackServerContext@grpc@@@Server@grpc@@AEAAXPEAV12@PEAUBatchCallAllocation@1grpc_core@@@Z)
1>grpc++.lib(core_codegen.obj) : error LNK2001: unresolved external symbol grpc_metadata_array_init
1>grpc++.lib(server_cc.obj) : error LNK2019: unresolved external symbol grpc_metadata_array_destroy referenced in function "public: virtual __cdecl grpc::Server::CallbackRequest<class grpc::CallbackServerContext>::~CallbackRequest<class grpc::CallbackServerContext>(void)" (??1?$CallbackRequest@VCallbackServerContext@grpc@@@Server@grpc@@UEAA@XZ)
1>grpc++.lib(core_codegen.obj) : error LNK2001: unresolved external symbol grpc_metadata_array_destroy
1>grpc++.lib(server_cc.obj) : error LNK2019: unresolved external symbol grpc_call_details_init referenced in function "public: __cdecl grpc::ServerInterface::GenericAsyncRequest::GenericAsyncRequest(class grpc::ServerInterface *,class grpc::GenericServerContext *,class grpc::internal::ServerAsyncStreamingInterface *,class grpc::CompletionQueue *,class grpc::ServerCompletionQueue *,void *,bool)" (??0GenericAsyncRequest@ServerInterface@grpc@@QEAA@PEAV12@PEAVGenericServerContext@2@PEAVServerAsyncStreamingInterface@internal@2@PEAVCompletionQueue@2@PEAVServerCompletionQueue@2@PEAX_N@Z)
1>grpc++.lib(server_cc.obj) : error LNK2019: unresolved external symbol grpc_call_details_destroy referenced in function "public: virtual __cdecl grpc::Server::SyncRequest::~SyncRequest(void)" (??1SyncRequest@Server@grpc@@UEAA@XZ)
1>grpc++.lib(server_cc.obj) : error LNK2019: unresolved external symbol grpc_completion_queue_create_for_pluck referenced in function "private: __cdecl grpc::Server::SyncRequest::SyncRequest(class grpc::Server *,class grpc::internal::RpcServiceMethod *)" (??0SyncRequest@Server@grpc@@AEAA@PEAV12@PEAVRpcServiceMethod@internal@2@@Z)
1>grpc++.lib(core_codegen.obj) : error LNK2001: unresolved external symbol grpc_completion_queue_create_for_pluck
1>grpc++.lib(server_cc.obj) : error LNK2019: unresolved external symbol grpc_call_arena_alloc referenced in function "private: void __cdecl grpc::Server::CallbackRequest<class grpc::CallbackServerContext>::CallbackCallTag::Run(bool)" (?Run@CallbackCallTag@?$CallbackRequest@VCallbackServerContext@grpc@@@Server@grpc@@AEAAX_N@Z)
1>grpc++.lib(core_codegen.obj) : error LNK2001: unresolved external symbol grpc_call_arena_alloc
1>grpc++.lib(server_context.obj) : error LNK2001: unresolved external symbol grpc_call_arena_alloc
1>grpc++.lib(server_cc.obj) : error LNK2019: unresolved external symbol grpc_call_unref referenced in function "public: void __cdecl grpc::Server::SyncRequest::Cleanup(void)" (?Cleanup@SyncRequest@Server@grpc@@QEAAXXZ)
1>grpc++.lib(core_codegen.obj) : error LNK2001: unresolved external symbol grpc_call_unref
1>grpc++.lib(server_context.obj) : error LNK2001: unresolved external symbol grpc_call_unref
1>grpc++.lib(client_context.obj) : error LNK2001: unresolved external symbol grpc_call_unref
1>grpc++.lib(server_cc.obj) : error LNK2019: unresolved external symbol grpc_server_request_call referenced in function "public: __cdecl grpc::ServerInterface::GenericAsyncRequest::GenericAsyncRequest(class grpc::ServerInterface *,class grpc::GenericServerContext *,class grpc::internal::ServerAsyncStreamingInterface *,class grpc::CompletionQueue *,class grpc::ServerCompletionQueue *,void *,bool)" (??0GenericAsyncRequest@ServerInterface@grpc@@QEAA@PEAV12@PEAVGenericServerContext@2@PEAVServerAsyncStreamingInterface@internal@2@PEAVCompletionQueue@2@PEAVServerCompletionQueue@2@PEAX_N@Z)
1>grpc++.lib(server_cc.obj) : error LNK2019: unresolved external symbol grpc_server_register_method referenced in function "protected: virtual bool __cdecl grpc::Server::RegisterService(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const *,class grpc::Service *)" (?RegisterService@Server@grpc@@MEAA_NPEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PEAVService@2@@Z)
1>grpc++.lib(server_cc.obj) : error LNK2019: unresolved external symbol grpc_server_request_registered_call referenced in function "protected: void __cdecl grpc::ServerInterface::RegisteredAsyncRequest::IssueRequest(void *,struct grpc_byte_buffer * *,class grpc::ServerCompletionQueue *)" (?IssueRequest@RegisteredAsyncRequest@ServerInterface@grpc@@IEAAXPEAXPEAPEAUgrpc_byte_buffer@@PEAVServerCompletionQueue@3@@Z)
1>grpc++.lib(server_cc.obj) : error LNK2019: unresolved external symbol grpc_server_create referenced in function "protected: __cdecl grpc::Server::Server(class grpc::ChannelArguments *,class std::shared_ptr<class std::vector<class std::unique_ptr<class grpc::ServerCompletionQueue,struct std::default_delete<class grpc::ServerCompletionQueue> >,class std::allocator<class std::unique_ptr<class grpc::ServerCompletionQueue,struct std::default_delete<class grpc::ServerCompletionQueue> > > > >,int,int,int,class std::vector<class std::shared_ptr<class grpc::internal::ExternalConnectionAcceptorImpl>,class std::allocator<class std::shared_ptr<class grpc::internal::ExternalConnectionAcceptorImpl> > >,struct grpc_server_config_fetcher *,struct grpc_resource_quota *,class std::vector<class std::unique_ptr<class grpc::experimental::ServerInterceptorFactoryInterface,struct std::default_delete<class grpc::experimental::ServerInterceptorFactoryInterface> >,class std::allocator<class std::unique_ptr<class grpc::experimental::ServerInterceptorFactoryInterface,struct std::default_delete<class grpc::experimental::ServerInterceptorFactoryInterface> > > >)" (??0Server@grpc@@IEAA@PEAVChannelArguments@1@V?$shared_ptr@V?$vector@V?$unique_ptr@VServerCompletionQueue@grpc@@U?$default_delete@VServerCompletionQueue@grpc@@@std@@@std@@V?$allocator@V?$unique_ptr@VServerCompletionQueue@grpc@@U?$default_delete@VServerCompletionQueue@grpc@@@std@@@std@@@2@@std@@@std@@HHHV?$vector@V?$shared_ptr@VExternalConnectionAcceptorImpl@internal@grpc@@@std@@V?$allocator@V?$shared_ptr@VExternalConnectionAcceptorImpl@internal@grpc@@@std@@@2@@4@PEAUgrpc_server_config_fetcher@@PEAUgrpc_resource_quota@@V?$vector@V?$unique_ptr@VServerInterceptorFactoryInterface@experimental@grpc@@U?$default_delete@VServerInterceptorFactoryInterface@experimental@grpc@@@std@@@std@@V?$allocator@V?$unique_ptr@VServerInterceptorFactoryInterface@experimental@grpc@@U?$default_delete@VServerInterceptorFactoryInterface@experimental@grpc@@@std@@@std@@@2@@4@@Z)
1>grpc++.lib(server_cc.obj) : error LNK2019: unresolved external symbol grpc_server_set_config_fetcher referenced in function "protected: __cdecl grpc::Server::Server(class grpc::ChannelArguments *,class std::shared_ptr<class std::vector<class std::unique_ptr<class grpc::ServerCompletionQueue,struct std::default_delete<class grpc::ServerCompletionQueue> >,class std::allocator<class std::unique_ptr<class grpc::ServerCompletionQueue,struct std::default_delete<class grpc::ServerCompletionQueue> > > > >,int,int,int,class std::vector<class std::shared_ptr<class grpc::internal::ExternalConnectionAcceptorImpl>,class std::allocator<class std::shared_ptr<class grpc::internal::ExternalConnectionAcceptorImpl> > >,struct grpc_server_config_fetcher *,struct grpc_resource_quota *,class std::vector<class std::unique_ptr<class grpc::experimental::ServerInterceptorFactoryInterface,struct std::default_delete<class grpc::experimental::ServerInterceptorFactoryInterface> >,class std::allocator<class std::unique_ptr<class grpc::experimental::ServerInterceptorFactoryInterface,struct std::default_delete<class grpc::experimental::ServerInterceptorFactoryInterface> > > >)" (??0Server@grpc@@IEAA@PEAVChannelArguments@1@V?$shared_ptr@V?$vector@V?$unique_ptr@VServerCompletionQueue@grpc@@U?$default_delete@VServerCompletionQueue@grpc@@@std@@@std@@V?$allocator@V?$unique_ptr@VServerCompletionQueue@grpc@@U?$default_delete@VServerCompletionQueue@grpc@@@std@@@std@@@2@@std@@@std@@HHHV?$vector@V?$shared_ptr@VExternalConnectionAcceptorImpl@internal@grpc@@@std@@V?$allocator@V?$shared_ptr@VExternalConnectionAcceptorImpl@internal@grpc@@@std@@@2@@4@PEAUgrpc_server_config_fetcher@@PEAUgrpc_resource_quota@@V?$vector@V?$unique_ptr@VServerInterceptorFactoryInterface@experimental@grpc@@U?$default_delete@VServerInterceptorFactoryInterface@experimental@grpc@@@std@@@std@@V?$allocator@V?$unique_ptr@VServerInterceptorFactoryInterface@experimental@grpc@@U?$default_delete@VServerInterceptorFactoryInterface@experimental@grpc@@@std@@@std@@@2@@4@@Z)
1>grpc++.lib(server_cc.obj) : error LNK2019: unresolved external symbol grpc_server_start referenced in function "protected: virtual void __cdecl grpc::Server::Start(class grpc::ServerCompletionQueue * *,unsigned __int64)" (?Start@Server@grpc@@MEAAXPEAPEAVServerCompletionQueue@2@_K@Z)
1>grpc++.lib(server_cc.obj) : error LNK2019: unresolved external symbol grpc_server_shutdown_and_notify referenced in function "private: virtual void __cdecl grpc::Server::ShutdownInternal(struct gpr_timespec)" (?ShutdownInternal@Server@grpc@@EEAAXUgpr_timespec@@@Z)
1>grpc++.lib(server_cc.obj) : error LNK2019: unresolved external symbol grpc_server_cancel_all_calls referenced in function "private: virtual void __cdecl grpc::Server::ShutdownInternal(struct gpr_timespec)" (?ShutdownInternal@Server@grpc@@EEAAXUgpr_timespec@@@Z)
1>grpc++.lib(server_cc.obj) : error LNK2019: unresolved external symbol grpc_server_destroy referenced in function "public: virtual __cdecl grpc::Server::~Server(void)" (??1Server@grpc@@UEAA@XZ)
1>grpc++.lib(server_cc.obj) : error LNK2019: unresolved external symbol grpc_resource_quota_create referenced in function "protected: __cdecl grpc::Server::Server(class grpc::ChannelArguments *,class std::shared_ptr<class std::vector<class std::unique_ptr<class grpc::ServerCompletionQueue,struct std::default_delete<class grpc::ServerCompletionQueue> >,class std::allocator<class std::unique_ptr<class grpc::ServerCompletionQueue,struct std::default_delete<class grpc::ServerCompletionQueue> > > > >,int,int,int,class std::vector<class std::shared_ptr<class grpc::internal::ExternalConnectionAcceptorImpl>,class std::allocator<class std::shared_ptr<class grpc::internal::ExternalConnectionAcceptorImpl> > >,struct grpc_server_config_fetcher *,struct grpc_resource_quota *,class std::vector<class std::unique_ptr<class grpc::experimental::ServerInterceptorFactoryInterface,struct std::default_delete<class grpc::experimental::ServerInterceptorFactoryInterface> >,class std::allocator<class std::unique_ptr<class grpc::experimental::ServerInterceptorFactoryInterface,struct std::default_delete<class grpc::experimental::ServerInterceptorFactoryInterface> > > >)" (??0Server@grpc@@IEAA@PEAVChannelArguments@1@V?$shared_ptr@V?$vector@V?$unique_ptr@VServerCompletionQueue@grpc@@U?$default_delete@VServerCompletionQueue@grpc@@@std@@@std@@V?$allocator@V?$unique_ptr@VServerCompletionQueue@grpc@@U?$default_delete@VServerCompletionQueue@grpc@@@std@@@std@@@2@@std@@@std@@HHHV?$vector@V?$shared_ptr@VExternalConnectionAcceptorImpl@internal@grpc@@@std@@V?$allocator@V?$shared_ptr@VExternalConnectionAcceptorImpl@internal@grpc@@@std@@@2@@4@PEAUgrpc_server_config_fetcher@@PEAUgrpc_resource_quota@@V?$vector@V?$unique_ptr@VServerInterceptorFactoryInterface@experimental@grpc@@U?$default_delete@VServerInterceptorFactoryInterface@experimental@grpc@@@std@@@std@@V?$allocator@V?$unique_ptr@VServerInterceptorFactoryInterface@experimental@grpc@@U?$default_delete@VServerInterceptorFactoryInterface@experimental@grpc@@@std@@@std@@@2@@4@@Z)
1>grpc++.lib(server_cc.obj) : error LNK2019: unresolved external symbol grpc_resource_quota_set_max_threads referenced in function "protected: __cdecl grpc::Server::Server(class grpc::ChannelArguments *,class std::shared_ptr<class std::vector<class std::unique_ptr<class grpc::ServerCompletionQueue,struct std::default_delete<class grpc::ServerCompletionQueue> >,class std::allocator<class std::unique_ptr<class grpc::ServerCompletionQueue,struct std::default_delete<class grpc::ServerCompletionQueue> > > > >,int,int,int,class std::vector<class std::shared_ptr<class grpc::internal::ExternalConnectionAcceptorImpl>,class std::allocator<class std::shared_ptr<class grpc::internal::ExternalConnectionAcceptorImpl> > >,struct grpc_server_config_fetcher *,struct grpc_resource_quota *,class std::vector<class std::unique_ptr<class grpc::experimental::ServerInterceptorFactoryInterface,struct std::default_delete<class grpc::experimental::ServerInterceptorFactoryInterface> >,class std::allocator<class std::unique_ptr<class grpc::experimental::ServerInterceptorFactoryInterface,struct std::default_delete<class grpc::experimental::ServerInterceptorFactoryInterface> > > >)" (??0Server@grpc@@IEAA@PEAVChannelArguments@1@V?$shared_ptr@V?$vector@V?$unique_ptr@VServerCompletionQueue@grpc@@U?$default_delete@VServerCompletionQueue@grpc@@@std@@@std@@V?$allocator@V?$unique_ptr@VServerCompletionQueue@grpc@@U?$default_delete@VServerCompletionQueue@grpc@@@std@@@std@@@2@@std@@@std@@HHHV?$vector@V?$shared_ptr@VExternalConnectionAcceptorImpl@internal@grpc@@@std@@V?$allocator@V?$shared_ptr@VExternalConnectionAcceptorImpl@internal@grpc@@@std@@@2@@4@PEAUgrpc_server_config_fetcher@@PEAUgrpc_resource_quota@@V?$vector@V?$unique_ptr@VServerInterceptorFactoryInterface@experimental@grpc@@U?$default_delete@VServerInterceptorFactoryInterface@experimental@grpc@@@std@@@std@@V?$allocator@V?$unique_ptr@VServerInterceptorFactoryInterface@experimental@grpc@@U?$default_delete@VServerInterceptorFactoryInterface@experimental@grpc@@@std@@@std@@@2@@4@@Z)
1>grpc++.lib(server_cc.obj) : error LNK2019: unresolved external symbol "public: __cdecl absl::lts_20211102::CondVar::~CondVar(void)" (??1CondVar@lts_20211102@absl@@QEAA@XZ) referenced in function "public: virtual __cdecl grpc::Server::~Server(void)" (??1Server@grpc@@UEAA@XZ)
1>grpc++.lib(thread_manager.obj) : error LNK2001: unresolved external symbol "public: __cdecl absl::lts_20211102::CondVar::~CondVar(void)" (??1CondVar@lts_20211102@absl@@QEAA@XZ)
1>grpc++.lib(server_cc.obj) : error LNK2019: unresolved external symbol "public: void __cdecl absl::lts_20211102::CondVar::Wait(class absl::lts_20211102::Mutex *)" (?Wait@CondVar@lts_20211102@absl@@QEAAXPEAVMutex@23@@Z) referenced in function "public: virtual void __cdecl grpc::Server::Wait(void)" (?Wait@Server@grpc@@UEAAXXZ)
1>grpc++.lib(thread_manager.obj) : error LNK2001: unresolved external symbol "public: void __cdecl absl::lts_20211102::CondVar::Wait(class absl::lts_20211102::Mutex *)" (?Wait@CondVar@lts_20211102@absl@@QEAAXPEAVMutex@23@@Z)
1>grpc++.lib(server_cc.obj) : error LNK2019: unresolved external symbol "public: void __cdecl absl::lts_20211102::CondVar::Signal(void)" (?Signal@CondVar@lts_20211102@absl@@QEAAXXZ) referenced in function "private: void __cdecl grpc::Server::UnrefWithPossibleNotify(void)" (?UnrefWithPossibleNotify@Server@grpc@@AEAAXXZ)
1>grpc++.lib(thread_manager.obj) : error LNK2001: unresolved external symbol "public: void __cdecl absl::lts_20211102::CondVar::Signal(void)" (?Signal@CondVar@lts_20211102@absl@@QEAAXXZ)
1>grpc++.lib(server_cc.obj) : error LNK2019: unresolved external symbol "public: void __cdecl absl::lts_20211102::CondVar::SignalAll(void)" (?SignalAll@CondVar@lts_20211102@absl@@QEAAXXZ) referenced in function "private: virtual void __cdecl grpc::Server::ShutdownInternal(struct gpr_timespec)" (?ShutdownInternal@Server@grpc@@EEAAXUgpr_timespec@@@Z)
1>grpc++.lib(server_cc.obj) : error LNK2019: unresolved external symbol "public: void __cdecl absl::lts_20211102::ReleasableMutexLock::Release(void)" (?Release@ReleasableMutexLock@lts_20211102@absl@@QEAAXXZ) referenced in function "public: virtual __cdecl grpc::Server::~Server(void)" (??1Server@grpc@@UEAA@XZ)
1>grpc++.lib(server_cc.obj) : error LNK2019: unresolved external symbol "struct grpc_channel * __cdecl grpc_inproc_channel_create(struct grpc_server *,struct grpc_channel_args const *,void *)" (?grpc_inproc_channel_create@@YAPEAUgrpc_channel@@PEAUgrpc_server@@PEBUgrpc_channel_args@@PEAX@Z) referenced in function "public: class std::shared_ptr<class grpc::Channel> __cdecl grpc::Server::InProcessChannel(class grpc::ChannelArguments const &)" (?InProcessChannel@Server@grpc@@QEAA?AV?$shared_ptr@VChannel@grpc@@@std@@AEBVChannelArguments@2@@Z)
1>grpc++.lib(server_cc.obj) : error LNK2019: unresolved external symbol "bool __cdecl grpc_iomgr_run_in_background(void)" (?grpc_iomgr_run_in_background@@YA_NXZ) referenced in function "public: virtual __cdecl grpc::Server::~Server(void)" (??1Server@grpc@@UEAA@XZ)
1>grpc++.lib(channel_cc.obj) : error LNK2001: unresolved external symbol "bool __cdecl grpc_iomgr_run_in_background(void)" (?grpc_iomgr_run_in_background@@YA_NXZ)
1>grpc++.lib(server_cc.obj) : error LNK2019: unresolved external symbol "bool __cdecl grpc_cq_begin_op(struct grpc_completion_queue *,void *)" (?grpc_cq_begin_op@@YA_NPEAUgrpc_completion_queue@@PEAX@Z) referenced in function "private: void __cdecl grpc::ServerInterface::BaseAsyncRequest::ContinueFinalizeResultAfterInterception(void)" (?ContinueFinalizeResultAfterInterception@BaseAsyncRequest@ServerInterface@grpc@@AEAAXXZ)
1>grpc++.lib(server_cc.obj) : error LNK2019: unresolved external symbol "void __cdecl grpc_cq_end_op(struct grpc_completion_queue *,void *,struct grpc_error *,void (__cdecl*)(void *,struct grpc_cq_completion *),void *,struct grpc_cq_completion *,bool)" (?grpc_cq_end_op@@YAXPEAUgrpc_completion_queue@@PEAXPEAUgrpc_error@@P6AX1PEAUgrpc_cq_completion@@@Z13_N@Z) referenced in function "private: void __cdecl grpc::ServerInterface::BaseAsyncRequest::ContinueFinalizeResultAfterInterception(void)" (?ContinueFinalizeResultAfterInterception@BaseAsyncRequest@ServerInterface@grpc@@AEAAXXZ)
1>grpc++.lib(server_cc.obj) : error LNK2019: unresolved external symbol "public: void __cdecl grpc_core::Server::SetRegisteredMethodAllocator(struct grpc_completion_queue *,void *,class std::function<struct grpc_core::Server::RegisteredCallAllocation __cdecl(void)>)" (?SetRegisteredMethodAllocator@Server@grpc_core@@QEAAXPEAUgrpc_completion_queue@@PEAXV?$function@$$A6A?AURegisteredCallAllocation@Server@grpc_core@@XZ@std@@@Z) referenced in function "protected: virtual bool __cdecl grpc::Server::RegisterService(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const *,class grpc::Service *)" (?RegisterService@Server@grpc@@MEAA_NPEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PEAVService@2@@Z)
1>grpc++.lib(server_cc.obj) : error LNK2019: unresolved external symbol "public: void __cdecl grpc_core::Server::SetBatchMethodAllocator(struct grpc_completion_queue *,class std::function<struct grpc_core::Server::BatchCallAllocation __cdecl(void)>)" (?SetBatchMethodAllocator@Server@grpc_core@@QEAAXPEAUgrpc_completion_queue@@V?$function@$$A6A?AUBatchCallAllocation@Server@grpc_core@@XZ@std@@@Z) referenced in function "private: virtual void __cdecl grpc::Server::RegisterCallbackGenericService(class grpc::CallbackGenericService *)" (?RegisterCallbackGenericService@Server@grpc@@EEAAXPEAVCallbackGenericService@2@@Z)
1>grpc++.lib(core_codegen.obj) : error LNK2019: unresolved external symbol grpc_raw_byte_buffer_create referenced in function "private: virtual struct grpc_byte_buffer * __cdecl grpc::CoreCodegen::grpc_raw_byte_buffer_create(struct grpc_slice *,unsigned __int64)" (?grpc_raw_byte_buffer_create@CoreCodegen@grpc@@EEAAPEAUgrpc_byte_buffer@@PEAUgrpc_slice@@_K@Z)
1>grpc++.lib(core_codegen.obj) : error LNK2019: unresolved external symbol grpc_byte_buffer_copy referenced in function "private: virtual struct grpc_byte_buffer * __cdecl grpc::CoreCodegen::grpc_byte_buffer_copy(struct grpc_byte_buffer *)" (?grpc_byte_buffer_copy@CoreCodegen@grpc@@EEAAPEAUgrpc_byte_buffer@@PEAU3@@Z)
1>grpc++.lib(core_codegen.obj) : error LNK2019: unresolved external symbol grpc_byte_buffer_length referenced in function "private: virtual unsigned __int64 __cdecl grpc::CoreCodegen::grpc_byte_buffer_length(struct grpc_byte_buffer *)" (?grpc_byte_buffer_length@CoreCodegen@grpc@@EEAA_KPEAUgrpc_byte_buffer@@@Z)
1>grpc++.lib(core_codegen.obj) : error LNK2019: unresolved external symbol grpc_byte_buffer_reader_init referenced in function "private: virtual int __cdecl grpc::CoreCodegen::grpc_byte_buffer_reader_init(struct grpc_byte_buffer_reader *,struct grpc_byte_buffer *)" (?grpc_byte_buffer_reader_init@CoreCodegen@grpc@@EEAAHPEAUgrpc_byte_buffer_reader@@PEAUgrpc_byte_buffer@@@Z)
1>grpc++.lib(byte_buffer_cc.obj) : error LNK2001: unresolved external symbol grpc_byte_buffer_reader_init
1>grpc++.lib(core_codegen.obj) : error LNK2019: unresolved external symbol grpc_byte_buffer_reader_destroy referenced in function "private: virtual void __cdecl grpc::CoreCodegen::grpc_byte_buffer_reader_destroy(struct grpc_byte_buffer_reader *)" (?grpc_byte_buffer_reader_destroy@CoreCodegen@grpc@@EEAAXPEAUgrpc_byte_buffer_reader@@@Z)
1>grpc++.lib(byte_buffer_cc.obj) : error LNK2001: unresolved external symbol grpc_byte_buffer_reader_destroy
1>grpc++.lib(core_codegen.obj) : error LNK2019: unresolved external symbol grpc_byte_buffer_reader_next referenced in function "private: virtual int __cdecl grpc::CoreCodegen::grpc_byte_buffer_reader_next(struct grpc_byte_buffer_reader *,struct grpc_slice *)" (?grpc_byte_buffer_reader_next@CoreCodegen@grpc@@EEAAHPEAUgrpc_byte_buffer_reader@@PEAUgrpc_slice@@@Z)
1>grpc++.lib(byte_buffer_cc.obj) : error LNK2001: unresolved external symbol grpc_byte_buffer_reader_next
1>grpc++.lib(core_codegen.obj) : error LNK2019: unresolved external symbol grpc_byte_buffer_reader_peek referenced in function "private: virtual int __cdecl grpc::CoreCodegen::grpc_byte_buffer_reader_peek(struct grpc_byte_buffer_reader *,struct grpc_slice * *)" (?grpc_byte_buffer_reader_peek@CoreCodegen@grpc@@EEAAHPEAUgrpc_byte_buffer_reader@@PEAPEAUgrpc_slice@@@Z)
1>grpc++.lib(core_codegen.obj) : error LNK2019: unresolved external symbol gpr_mu_init referenced in function "private: virtual void __cdecl grpc::CoreCodegen::gpr_mu_init(__int64 *)" (?gpr_mu_init@CoreCodegen@grpc@@EEAAXPEA_J@Z)
1>grpc++.lib(core_codegen.obj) : error LNK2019: unresolved external symbol gpr_mu_destroy referenced in function "private: virtual void __cdecl grpc::CoreCodegen::gpr_mu_destroy(__int64 *)" (?gpr_mu_destroy@CoreCodegen@grpc@@EEAAXPEA_J@Z)
1>grpc++.lib(core_codegen.obj) : error LNK2019: unresolved external symbol gpr_mu_lock referenced in function "private: virtual void __cdecl grpc::CoreCodegen::gpr_mu_lock(__int64 *)" (?gpr_mu_lock@CoreCodegen@grpc@@EEAAXPEA_J@Z)
1>grpc++.lib(core_codegen.obj) : error LNK2019: unresolved external symbol gpr_mu_unlock referenced in function "private: virtual void __cdecl grpc::CoreCodegen::gpr_mu_unlock(__int64 *)" (?gpr_mu_unlock@CoreCodegen@grpc@@EEAAXPEA_J@Z)
1>grpc++.lib(core_codegen.obj) : error LNK2019: unresolved external symbol gpr_cv_init referenced in function "private: virtual void __cdecl grpc::CoreCodegen::gpr_cv_init(__int64 *)" (?gpr_cv_init@CoreCodegen@grpc@@EEAAXPEA_J@Z)
1>grpc++.lib(core_codegen.obj) : error LNK2019: unresolved external symbol gpr_cv_destroy referenced in function "private: virtual void __cdecl grpc::CoreCodegen::gpr_cv_destroy(__int64 *)" (?gpr_cv_destroy@CoreCodegen@grpc@@EEAAXPEA_J@Z)
1>grpc++.lib(core_codegen.obj) : error LNK2019: unresolved external symbol gpr_cv_wait referenced in function "private: virtual int __cdecl grpc::CoreCodegen::gpr_cv_wait(__int64 *,__int64 *,struct gpr_timespec)" (?gpr_cv_wait@CoreCodegen@grpc@@EEAAHPEA_J0Ugpr_timespec@@@Z)
1>grpc++.lib(core_codegen.obj) : error LNK2019: unresolved external symbol gpr_cv_signal referenced in function "private: virtual void __cdecl grpc::CoreCodegen::gpr_cv_signal(__int64 *)" (?gpr_cv_signal@CoreCodegen@grpc@@EEAAXPEA_J@Z)
1>grpc++.lib(core_codegen.obj) : error LNK2019: unresolved external symbol gpr_cv_broadcast referenced in function "private: virtual void __cdecl grpc::CoreCodegen::gpr_cv_broadcast(__int64 *)" (?gpr_cv_broadcast@CoreCodegen@grpc@@EEAAXPEA_J@Z)
1>grpc++.lib(core_codegen.obj) : error LNK2019: unresolved external symbol grpc_slice_ref referenced in function "private: virtual struct grpc_slice __cdecl grpc::CoreCodegen::grpc_slice_ref(struct grpc_slice)" (?grpc_slice_ref@CoreCodegen@grpc@@EEAA?AUgrpc_slice@@U3@@Z)
1>grpc++.lib(core_codegen.obj) : error LNK2019: unresolved external symbol grpc_slice_new_with_user_data referenced in function "private: virtual struct grpc_slice __cdecl grpc::CoreCodegen::grpc_slice_new_with_user_data(void *,unsigned __int64,void (__cdecl*)(void *),void *)" (?grpc_slice_new_with_user_data@CoreCodegen@grpc@@EEAA?AUgrpc_slice@@PEAX_KP6AX0@Z0@Z)
1>grpc++.lib(core_codegen.obj) : error LNK2019: unresolved external symbol grpc_slice_new_with_len referenced in function "private: virtual struct grpc_slice __cdecl grpc::CoreCodegen::grpc_slice_new_with_len(void *,unsigned __int64,void (__cdecl*)(void *,unsigned __int64))" (?grpc_slice_new_with_len@CoreCodegen@grpc@@EEAA?AUgrpc_slice@@PEAX_KP6AX01@Z@Z)
1>grpc++.lib(core_codegen.obj) : error LNK2019: unresolved external symbol grpc_slice_malloc referenced in function "private: virtual struct grpc_slice __cdecl grpc::CoreCodegen::grpc_slice_malloc(unsigned __int64)" (?grpc_slice_malloc@CoreCodegen@grpc@@EEAA?AUgrpc_slice@@_K@Z)
1>grpc++.lib(core_codegen.obj) : error LNK2019: unresolved external symbol grpc_slice_from_copied_buffer referenced in function "private: virtual struct grpc_slice __cdecl grpc::CoreCodegen::grpc_slice_from_copied_buffer(void const *,unsigned __int64)" (?grpc_slice_from_copied_buffer@CoreCodegen@grpc@@EEAA?AUgrpc_slice@@PEBX_K@Z)
1>grpc++.lib(default_health_check_service.obj) : error LNK2001: unresolved external symbol grpc_slice_from_copied_buffer
1>grpc++.lib(core_codegen.obj) : error LNK2019: unresolved external symbol grpc_slice_from_static_buffer referenced in function "private: virtual struct grpc_slice __cdecl grpc::CoreCodegen::grpc_slice_from_static_buffer(void const *,unsigned __int64)" (?grpc_slice_from_static_buffer@CoreCodegen@grpc@@EEAA?AUgrpc_slice@@PEBX_K@Z)
1>grpc++.lib(core_codegen.obj) : error LNK2019: unresolved external symbol grpc_slice_sub referenced in function "private: virtual struct grpc_slice __cdecl grpc::CoreCodegen::grpc_slice_sub(struct grpc_slice,unsigned __int64,unsigned __int64)" (?grpc_slice_sub@CoreCodegen@grpc@@EEAA?AUgrpc_slice@@U3@_K1@Z)
1>grpc++.lib(core_codegen.obj) : error LNK2019: unresolved external symbol grpc_slice_split_tail referenced in function "private: virtual struct grpc_slice __cdecl grpc::CoreCodegen::grpc_slice_split_tail(struct grpc_slice *,unsigned __int64)" (?grpc_slice_split_tail@CoreCodegen@grpc@@EEAA?AUgrpc_slice@@PEAU3@_K@Z)
1>grpc++.lib(core_codegen.obj) : error LNK2019: unresolved external symbol grpc_slice_split_head referenced in function "private: virtual struct grpc_slice __cdecl grpc::CoreCodegen::grpc_slice_split_head(struct grpc_slice *,unsigned __int64)" (?grpc_slice_split_head@CoreCodegen@grpc@@EEAA?AUgrpc_slice@@PEAU3@_K@Z)
1>grpc++.lib(core_codegen.obj) : error LNK2019: unresolved external symbol grpc_empty_slice referenced in function "private: virtual struct grpc_slice __cdecl grpc::CoreCodegen::grpc_empty_slice(void)" (?grpc_empty_slice@CoreCodegen@grpc@@EEAA?AUgrpc_slice@@XZ)
1>grpc++.lib(core_codegen.obj) : error LNK2019: unresolved external symbol grpc_slice_buffer_add referenced in function "private: virtual void __cdecl grpc::CoreCodegen::grpc_slice_buffer_add(struct grpc_slice_buffer *,struct grpc_slice)" (?grpc_slice_buffer_add@CoreCodegen@grpc@@EEAAXPEAUgrpc_slice_buffer@@Ugrpc_slice@@@Z)
1>grpc++.lib(core_codegen.obj) : error LNK2019: unresolved external symbol grpc_slice_buffer_pop referenced in function "private: virtual void __cdecl grpc::CoreCodegen::grpc_slice_buffer_pop(struct grpc_slice_buffer *)" (?grpc_slice_buffer_pop@CoreCodegen@grpc@@EEAAXPEAUgrpc_slice_buffer@@@Z)
1>grpc++.lib(core_codegen.obj) : error LNK2019: unresolved external symbol gpr_time_0 referenced in function "private: virtual struct gpr_timespec __cdecl grpc::CoreCodegen::gpr_time_0(enum gpr_clock_type)" (?gpr_time_0@CoreCodegen@grpc@@EEAA?AUgpr_timespec@@W4gpr_clock_type@@@Z)
1>grpc++.lib(core_codegen.obj) : error LNK2019: unresolved external symbol grpc_completion_queue_factory_lookup referenced in function "private: virtual struct grpc_completion_queue_factory const * __cdecl grpc::CoreCodegen::grpc_completion_queue_factory_lookup(struct grpc_completion_queue_attributes const *)" (?grpc_completion_queue_factory_lookup@CoreCodegen@grpc@@EEAAPEBUgrpc_completion_queue_factory@@PEBUgrpc_completion_queue_attributes@@@Z)
1>grpc++.lib(core_codegen.obj) : error LNK2019: unresolved external symbol grpc_completion_queue_create_for_next referenced in function "private: virtual struct grpc_completion_queue * __cdecl grpc::CoreCodegen::grpc_completion_queue_create_for_next(void *)" (?grpc_completion_queue_create_for_next@CoreCodegen@grpc@@EEAAPEAUgrpc_completion_queue@@PEAX@Z)
1>grpc++.lib(core_codegen.obj) : error LNK2019: unresolved external symbol grpc_completion_queue_create referenced in function "private: virtual struct grpc_completion_queue * __cdecl grpc::CoreCodegen::grpc_completion_queue_create(struct grpc_completion_queue_factory const *,struct grpc_completion_queue_attributes const *,void *)" (?grpc_completion_queue_create@CoreCodegen@grpc@@EEAAPEAUgrpc_completion_queue@@PEBUgrpc_completion_queue_factory@@PEBUgrpc_completion_queue_attributes@@PEAX@Z)
1>grpc++.lib(core_codegen.obj) : error LNK2019: unresolved external symbol grpc_completion_queue_pluck referenced in function "private: virtual struct grpc_event __cdecl grpc::CoreCodegen::grpc_completion_queue_pluck(struct grpc_completion_queue *,void *,struct gpr_timespec,void *)" (?grpc_completion_queue_pluck@CoreCodegen@grpc@@EEAA?AUgrpc_event@@PEAUgrpc_completion_queue@@PEAXUgpr_timespec@@1@Z)
1>grpc++.lib(core_codegen.obj) : error LNK2019: unresolved external symbol grpc_completion_queue_shutdown referenced in function "private: virtual void __cdecl grpc::CoreCodegen::grpc_completion_queue_shutdown(struct grpc_completion_queue *)" (?grpc_completion_queue_shutdown@CoreCodegen@grpc@@EEAAXPEAUgrpc_completion_queue@@@Z)
1>grpc++.lib(core_codegen.obj) : error LNK2019: unresolved external symbol grpc_completion_queue_destroy referenced in function "private: virtual void __cdecl grpc::CoreCodegen::grpc_completion_queue_destroy(struct grpc_completion_queue *)" (?grpc_completion_queue_destroy@CoreCodegen@grpc@@EEAAXPEAUgrpc_completion_queue@@@Z)
1>grpc++.lib(core_codegen.obj) : error LNK2019: unresolved external symbol grpc_call_start_batch referenced in function "private: virtual enum grpc_call_error __cdecl grpc::CoreCodegen::grpc_call_start_batch(struct grpc_call *,struct grpc_op const *,unsigned __int64,void *,void *)" (?grpc_call_start_batch@CoreCodegen@grpc@@EEAA?AW4grpc_call_error@@PEAUgrpc_call@@PEBUgrpc_op@@_KPEAX3@Z)
1>grpc++.lib(server_context.obj) : error LNK2001: unresolved external symbol grpc_call_start_batch
1>grpc++.lib(core_codegen.obj) : error LNK2019: unresolved external symbol grpc_call_cancel_with_status referenced in function "private: virtual enum grpc_call_error __cdecl grpc::CoreCodegen::grpc_call_cancel_with_status(struct grpc_call *,enum grpc_status_code,char const *,void *)" (?grpc_call_cancel_with_status@CoreCodegen@grpc@@EEAA?AW4grpc_call_error@@PEAUgrpc_call@@W4grpc_status_code@@PEBDPEAX@Z)
1>grpc++.lib(server_context.obj) : error LNK2001: unresolved external symbol grpc_call_cancel_with_status
1>grpc++.lib(client_context.obj) : error LNK2001: unresolved external symbol grpc_call_cancel_with_status
1>grpc++.lib(core_codegen.obj) : error LNK2019: unresolved external symbol grpc_call_failed_before_recv_message referenced in function "private: virtual int __cdecl grpc::CoreCodegen::grpc_call_failed_before_recv_message(struct grpc_call const *)" (?grpc_call_failed_before_recv_message@CoreCodegen@grpc@@EEAAHPEBUgrpc_call@@@Z)
1>grpc++.lib(core_codegen.obj) : error LNK2019: unresolved external symbol grpc_call_ref referenced in function "private: virtual void __cdecl grpc::CoreCodegen::grpc_call_ref(struct grpc_call *)" (?grpc_call_ref@CoreCodegen@grpc@@EEAAXPEAUgrpc_call@@@Z)
1>grpc++.lib(server_context.obj) : error LNK2001: unresolved external symbol grpc_call_ref
1>grpc++.lib(core_codegen.obj) : error LNK2019: unresolved external symbol grpc_call_error_to_string referenced in function "private: virtual char const * __cdecl grpc::CoreCodegen::grpc_call_error_to_string(enum grpc_call_error)" (?grpc_call_error_to_string@CoreCodegen@grpc@@EEAAPEBDW4grpc_call_error@@@Z)
1>grpc++.lib(core_codegen.obj) : error LNK2019: unresolved external symbol gpr_malloc referenced in function "private: virtual void * __cdecl grpc::CoreCodegen::gpr_malloc(unsigned __int64)" (?gpr_malloc@CoreCodegen@grpc@@EEAAPEAX_K@Z)
1>grpc++.lib(core_codegen.obj) : error LNK2019: unresolved external symbol gpr_free referenced in function "private: virtual void __cdecl grpc::CoreCodegen::gpr_free(void *)" (?gpr_free@CoreCodegen@grpc@@EEAAXPEAX@Z)
1>grpc++.lib(server_context.obj) : error LNK2001: unresolved external symbol gpr_free
1>grpc++.lib(channel_cc.obj) : error LNK2001: unresolved external symbol gpr_free
1>grpc++.lib(client_context.obj) : error LNK2001: unresolved external symbol gpr_free
1>grpc++.lib(completion_queue_cc.obj) : error LNK2019: unresolved external symbol gpr_sleep_until referenced in function "public: void __cdecl <lambda_e078b0f9d493b90e1efa033e1ac3a0bb>::operator()(void *)const " (??R<lambda_e078b0f9d493b90e1efa033e1ac3a0bb>@@QEBAXPEAX@Z)
1>grpc++.lib(completion_queue_cc.obj) : error LNK2019: unresolved external symbol grpc_completion_queue_next referenced in function "private: enum grpc::CompletionQueue::NextStatus __cdecl grpc::CompletionQueue::AsyncNextInternal(void * *,bool *,struct gpr_timespec)" (?AsyncNextInternal@CompletionQueue@grpc@@AEAA?AW4NextStatus@12@PEAPEAXPEA_NUgpr_timespec@@@Z)
1>grpc++.lib(completion_queue_cc.obj) : error LNK2019: unresolved external symbol grpc_completion_queue_thread_local_cache_init referenced in function "public: __cdecl grpc::CompletionQueue::CompletionQueueTLSCache::CompletionQueueTLSCache(class grpc::CompletionQueue *)" (??0CompletionQueueTLSCache@CompletionQueue@grpc@@QEAA@PEAV12@@Z)
1>grpc++.lib(completion_queue_cc.obj) : error LNK2019: unresolved external symbol grpc_completion_queue_thread_local_cache_flush referenced in function "public: bool __cdecl grpc::CompletionQueue::CompletionQueueTLSCache::Flush(void * *,bool *)" (?Flush@CompletionQueueTLSCache@CompletionQueue@grpc@@QEAA_NPEAPEAXPEA_N@Z)
1>grpc++.lib(completion_queue_cc.obj) : error LNK2019: unresolved external symbol gpr_cpu_num_cores referenced in function "public: class grpc::CompletionQueue * __cdecl grpc::`anonymous namespace'::CallbackAlternativeCQ::Ref(void)" (?Ref@CallbackAlternativeCQ@?A0xd6a33eb5@grpc@@QEAAPEAVCompletionQueue@3@XZ)
1>grpc++.lib(completion_queue_cc.obj) : error LNK2019: unresolved external symbol "public: __cdecl grpc_core::Thread::Thread(char const *,void (__cdecl*)(void *),void *,bool *,class grpc_core::Thread::Options const &)" (??0Thread@grpc_core@@QEAA@PEBDP6AXPEAX@Z1PEA_NAEBVOptions@01@@Z) referenced in function "public: static void __cdecl std::_Default_allocator_traits<class std::allocator<class grpc_core::Thread> >::construct<class grpc_core::Thread,char const (&)[15],class <lambda_e078b0f9d493b90e1efa033e1ac3a0bb>,class grpc::CompletionQueue * &>(class std::allocator<class grpc_core::Thread> &,class grpc_core::Thread * const,char const (&)[15],class <lambda_e078b0f9d493b90e1efa033e1ac3a0bb> &&,class grpc::CompletionQueue * &)" (??$construct@VThread@grpc_core@@AEAY0P@$$CBDV<lambda_e078b0f9d493b90e1efa033e1ac3a0bb>@@AEAPEAVCompletionQueue@grpc@@@?$_Default_allocator_traits@V?$allocator@VThread@grpc_core@@@std@@@std@@SAXAEAV?$allocator@VThread@grpc_core@@@1@QEAVThread@grpc_core@@AEAY0P@$$CBD$$QEAV<lambda_e078b0f9d493b90e1efa033e1ac3a0bb>@@AEAPEAVCompletionQueue@grpc@@@Z)
1>grpc++.lib(default_health_check_service.obj) : error LNK2001: unresolved external symbol "public: __cdecl grpc_core::Thread::Thread(char const *,void (__cdecl*)(void *),void *,bool *,class grpc_core::Thread::Options const &)" (??0Thread@grpc_core@@QEAA@PEBDP6AXPEAX@Z1PEA_NAEBVOptions@01@@Z)
1>grpc++.lib(thread_manager.obj) : error LNK2001: unresolved external symbol "public: __cdecl grpc_core::Thread::Thread(char const *,void (__cdecl*)(void *),void *,bool *,class grpc_core::Thread::Options const &)" (??0Thread@grpc_core@@QEAA@PEBDP6AXPEAX@Z1PEA_NAEBVOptions@01@@Z)
1>grpc++.lib(server_callback.obj) : error LNK2019: unresolved external symbol "public: static void __cdecl grpc_core::Executor::Run(struct grpc_closure *,struct grpc_error *,enum grpc_core::ExecutorType,enum grpc_core::ExecutorJobType)" (?Run@Executor@grpc_core@@SAXPEAUgrpc_closure@@PEAUgrpc_error@@W4ExecutorType@2@W4ExecutorJobType@2@@Z) referenced in function "private: void __cdecl grpc::internal::ServerCallbackCall::ScheduleOnDone(bool)" (?ScheduleOnDone@ServerCallbackCall@internal@grpc@@AEAAX_N@Z)
1>grpc++.lib(server_context.obj) : error LNK2019: unresolved external symbol grpc_compression_algorithm_name referenced in function "public: void __cdecl grpc::ServerContextBase::set_compression_algorithm(enum grpc_compression_algorithm)" (?set_compression_algorithm@ServerContextBase@grpc@@QEAAXW4grpc_compression_algorithm@@@Z)
1>grpc++.lib(client_context.obj) : error LNK2001: unresolved external symbol grpc_compression_algorithm_name
1>grpc++.lib(server_context.obj) : error LNK2019: unresolved external symbol grpc_call_get_peer referenced in function "public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl grpc::ServerContextBase::peer(void)const " (?peer@ServerContextBase@grpc@@QEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ)
1>grpc++.lib(client_context.obj) : error LNK2001: unresolved external symbol grpc_call_get_peer
1>grpc++.lib(server_context.obj) : error LNK2019: unresolved external symbol grpc_census_call_get_context referenced in function "public: struct census_context const * __cdecl grpc::ServerContextBase::census_context(void)const " (?census_context@ServerContextBase@grpc@@QEBAPEBU0@XZ)
1>grpc++.lib(default_health_check_service.obj) : error LNK2019: unresolved external symbol upb_Arena_Init referenced in function upb_Arena_New
1>grpc++.lib(default_health_check_service.obj) : error LNK2019: unresolved external symbol upb_Arena_Free referenced in function "public: __cdecl upb::Arena::Arena(void)" (??0Arena@upb@@QEAA@XZ)
1>grpc++.lib(default_health_check_service.obj) : error LNK2019: unresolved external symbol _upb_Message_New referenced in function grpc_health_v1_HealthCheckRequest_new
1>grpc++.lib(default_health_check_service.obj) : error LNK2019: unresolved external symbol upb_Decode referenced in function grpc_health_v1_HealthCheckRequest_parse
1>grpc++.lib(default_health_check_service.obj) : error LNK2019: unresolved external symbol upb_Encode referenced in function grpc_health_v1_HealthCheckResponse_serialize
1>grpc++.lib(default_health_check_service.obj) : error LNK2001: unresolved external symbol upb_alloc_global
1>grpc++.lib(default_health_check_service.obj) : error LNK2001: unresolved external symbol grpc_health_v1_HealthCheckRequest_msginit
1>grpc++.lib(default_health_check_service.obj) : error LNK2001: unresolved external symbol grpc_health_v1_HealthCheckResponse_msginit
1>grpc++.lib(thread_manager.obj) : error LNK2019: unresolved external symbol "public: bool __cdecl grpc_core::ThreadQuota::Reserve(unsigned __int64)" (?Reserve@ThreadQuota@grpc_core@@QEAA_N_K@Z) referenced in function "public: void __cdecl grpc::ThreadManager::Initialize(void)" (?Initialize@ThreadManager@grpc@@QEAAXXZ)
1>grpc++.lib(thread_manager.obj) : error LNK2019: unresolved external symbol "public: void __cdecl grpc_core::ThreadQuota::Release(unsigned __int64)" (?Release@ThreadQuota@grpc_core@@QEAAX_K@Z) referenced in function "private: void __cdecl grpc::ThreadManager::MarkAsCompleted(class grpc::ThreadManager::WorkerThread *)" (?MarkAsCompleted@ThreadManager@grpc@@AEAAXPEAVWorkerThread@12@@Z)
1>grpc++.lib(channel_cc.obj) : error LNK2019: unresolved external symbol grpc_channel_check_connectivity_state referenced in function "public: virtual enum grpc_connectivity_state __cdecl grpc::Channel::GetState(bool)" (?GetState@Channel@grpc@@UEAA?AW4grpc_connectivity_state@@_N@Z)
1>grpc++.lib(channel_cc.obj) : error LNK2019: unresolved external symbol grpc_channel_watch_connectivity_state referenced in function "private: virtual void __cdecl grpc::Channel::NotifyOnStateChangeImpl(enum grpc_connectivity_state,struct gpr_timespec,class grpc::CompletionQueue *,void *)" (?NotifyOnStateChangeImpl@Channel@grpc@@EEAAXW4grpc_connectivity_state@@Ugpr_timespec@@PEAVCompletionQueue@2@PEAX@Z)
1>grpc++.lib(channel_cc.obj) : error LNK2019: unresolved external symbol grpc_channel_create_call referenced in function "private: virtual class grpc::internal::Call __cdecl grpc::Channel::CreateCallInternal(class grpc::internal::RpcMethod const &,class grpc::ClientContext *,class grpc::CompletionQueue *,unsigned __int64)" (?CreateCallInternal@Channel@grpc@@EEAA?AVCall@internal@2@AEBVRpcMethod@42@PEAVClientContext@2@PEAVCompletionQueue@2@_K@Z)
1>grpc++.lib(channel_cc.obj) : error LNK2019: unresolved external symbol grpc_channel_register_call referenced in function "private: virtual void * __cdecl grpc::Channel::RegisterMethod(char const *)" (?RegisterMethod@Channel@grpc@@EEAAPEAXPEBD@Z)
1>grpc++.lib(channel_cc.obj) : error LNK2019: unresolved external symbol grpc_channel_create_registered_call referenced in function "private: virtual class grpc::internal::Call __cdecl grpc::Channel::CreateCallInternal(class grpc::internal::RpcMethod const &,class grpc::ClientContext *,class grpc::CompletionQueue *,unsigned __int64)" (?CreateCallInternal@Channel@grpc@@EEAA?AVCall@internal@2@AEBVRpcMethod@42@PEAVClientContext@2@PEAVCompletionQueue@2@_K@Z)
1>grpc++.lib(channel_cc.obj) : error LNK2019: unresolved external symbol grpc_census_call_set_context referenced in function "private: virtual class grpc::internal::Call __cdecl grpc::Channel::CreateCallInternal(class grpc::internal::RpcMethod const &,class grpc::ClientContext *,class grpc::CompletionQueue *,unsigned __int64)" (?CreateCallInternal@Channel@grpc@@EEAA?AVCall@internal@2@AEBVRpcMethod@42@PEAVClientContext@2@PEAVCompletionQueue@2@_K@Z)
1>grpc++.lib(channel_cc.obj) : error LNK2019: unresolved external symbol grpc_channel_get_info referenced in function "class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl grpc::`anonymous namespace'::GetChannelInfoField(struct grpc_channel *,struct grpc_channel_info *,char * * *)" (?GetChannelInfoField@?A0xa13b4300@grpc@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PEAUgrpc_channel@@PEAUgrpc_channel_info@@PEAPEAPEAD@Z)
1>grpc++.lib(channel_cc.obj) : error LNK2019: unresolved external symbol grpc_channel_reset_connect_backoff referenced in function "void __cdecl grpc::experimental::ChannelResetConnectionBackoff(class grpc::Channel *)" (?ChannelResetConnectionBackoff@experimental@grpc@@YAXPEAVChannel@2@@Z)
1>grpc++.lib(channel_cc.obj) : error LNK2019: unresolved external symbol grpc_channel_destroy referenced in function "public: virtual __cdecl grpc::Channel::~Channel(void)" (??1Channel@grpc@@UEAA@XZ)
1>grpc++.lib(byte_buffer_cc.obj) : error LNK2019: unresolved external symbol grpc_byte_buffer_reader_readall referenced in function "public: class grpc::Status __cdecl grpc::ByteBuffer::DumpToSingleSlice(class grpc::Slice *)const " (?DumpToSingleSlice@ByteBuffer@grpc@@QEBA?AVStatus@2@PEAVSlice@2@@Z)
1>grpc++.lib(client_context.obj) : error LNK2019: unresolved external symbol grpc_call_cancel referenced in function "public: void __cdecl grpc::ClientContext::TryCancel(void)" (?TryCancel@ClientContext@grpc@@QEAAXXZ)
1>C:\Users\huangpa\Documents\Visual Studio 2017\Projects\x64\Debug\ConsoleApplication4.exe : fatal error LNK1120: 130 unresolved externals
1>Done building project "ConsoleApplication4.vcxproj" -- FAILED.
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========


Here are the attached CMake generation:
cmake.exe .. -G "Visual Studio 15 2017" -A x64
-- Selecting Windows SDK version 10.0.17763.0 to target Windows 10.0.19044.
-- The C compiler identification is MSVC 19.16.27024.1
-- The CXX compiler identification is MSVC 19.16.27024.1
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Enterprise/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x64/cl.exe
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Enterprise/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x64/cl.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Enterprise/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x64/cl.exe
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Enterprise/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x64/cl.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Warning at third_party/abseil-cpp/CMakeLists.txt:74 (message):
  A future Abseil release will default ABSL_PROPAGATE_CXX_STD to ON for CMake
  3.8 and up.  We recommend enabling this option to ensure your project still
  builds correctly.


-- Looking for pthread.h
-- Looking for pthread.h - not found
-- Found Threads: TRUE  
-- Looking for res_servicename
-- Looking for res_servicename - not found
-- Looking for res_servicename in resolv
-- Looking for res_servicename in resolv - not found
-- Looking for gethostbyname
-- Looking for gethostbyname - not found
-- Looking for gethostbyname in nsl
-- Looking for gethostbyname in nsl - not found
-- Looking for gethostbyname in socket
-- Looking for gethostbyname in socket - not found
-- Looking for socket
-- Looking for socket - not found
-- Looking for socket in socket
-- Looking for socket in socket - not found
-- Looking for clock_gettime
-- Looking for clock_gettime - not found
-- Looking for clock_gettime in rt
-- Looking for clock_gettime in rt - not found
-- Looking for include file sys/types.h
-- Looking for include file sys/types.h - found
-- Looking for include file sys/socket.h
-- Looking for include file sys/socket.h - not found
-- Looking for include file arpa/inet.h
-- Looking for include file arpa/inet.h - not found
-- Looking for include file arpa/nameser_compat.h
-- Looking for include file arpa/nameser_compat.h - not found
-- Looking for include file arpa/nameser.h
-- Looking for include file arpa/nameser.h - not found
-- Looking for include file assert.h
-- Looking for include file assert.h - found
-- Looking for include file errno.h
-- Looking for include file errno.h - found
-- Looking for include file fcntl.h
-- Looking for include file fcntl.h - found
-- Looking for include file inttypes.h
-- Looking for include file inttypes.h - found
-- Looking for include file limits.h
-- Looking for include file limits.h - found
-- Looking for include file malloc.h
-- Looking for include file malloc.h - found
-- Looking for include file memory.h
-- Looking for include file memory.h - found
-- Looking for include file netdb.h
-- Looking for include file netdb.h - not found
-- Looking for include file netinet/in.h
-- Looking for include file netinet/in.h - not found
-- Looking for include file net/if.h
-- Looking for include file net/if.h - not found
-- Looking for include file signal.h
-- Looking for include file signal.h - found
-- Looking for include file socket.h
-- Looking for include file socket.h - not found
-- Looking for include file stdbool.h
-- Looking for include file stdbool.h - found
-- Looking for include file stdint.h
-- Looking for include file stdint.h - found
-- Looking for include file stdlib.h
-- Looking for include file stdlib.h - found
-- Looking for include file strings.h
-- Looking for include file strings.h - not found
-- Looking for include file string.h
-- Looking for include file string.h - found
-- Looking for include file stropts.h
-- Looking for include file stropts.h - not found
-- Looking for include file sys/ioctl.h
-- Looking for include file sys/ioctl.h - not found
-- Looking for include file sys/param.h
-- Looking for include file sys/param.h - not found
-- Looking for include file sys/select.h
-- Looking for include file sys/select.h - not found
-- Looking for include file sys/stat.h
-- Looking for include file sys/stat.h - found
-- Looking for include file sys/time.h
-- Looking for include file sys/time.h - not found
-- Looking for include file sys/uio.h
-- Looking for include file sys/uio.h - not found
-- Looking for include file time.h
-- Looking for include file time.h - found
-- Looking for include file dlfcn.h
-- Looking for include file dlfcn.h - not found
-- Looking for include file unistd.h
-- Looking for include file unistd.h - not found
-- Looking for include files sys/types.h, netinet/tcp.h
-- Looking for include files sys/types.h, netinet/tcp.h - not found
-- Looking for include files winsock2.h, windows.h
-- Looking for include files winsock2.h, windows.h - found
-- Looking for 3 include files winsock2.h, ..., windows.h
-- Looking for 3 include files winsock2.h, ..., windows.h - found
-- Looking for include files winsock.h, windows.h
-- Looking for include files winsock.h, windows.h - found
-- Looking for include file windows.h
-- Looking for include file windows.h - found
-- Performing Test HAVE_SOCKLEN_T
-- Performing Test HAVE_SOCKLEN_T - Success
-- Performing Test HAVE_TYPE_SOCKET
-- Performing Test HAVE_TYPE_SOCKET - Success
-- Performing Test HAVE_BOOL_T
-- Performing Test HAVE_BOOL_T - Success
-- Performing Test HAVE_SSIZE_T
-- Performing Test HAVE_SSIZE_T - Failed
-- Performing Test HAVE_LONGLONG
-- Performing Test HAVE_LONGLONG - Success
-- Performing Test HAVE_SIG_ATOMIC_T
-- Performing Test HAVE_SIG_ATOMIC_T - Success
-- Performing Test HAVE_STRUCT_ADDRINFO
-- Performing Test HAVE_STRUCT_ADDRINFO - Success
-- Performing Test HAVE_STRUCT_IN6_ADDR
-- Performing Test HAVE_STRUCT_IN6_ADDR - Success
-- Performing Test HAVE_STRUCT_SOCKADDR_IN6
-- Performing Test HAVE_STRUCT_SOCKADDR_IN6 - Success
-- Performing Test HAVE_STRUCT_SOCKADDR_STORAGE
-- Performing Test HAVE_STRUCT_SOCKADDR_STORAGE - Success
-- Performing Test HAVE_STRUCT_TIMEVAL
-- Performing Test HAVE_STRUCT_TIMEVAL - Success
-- Looking for AF_INET6
-- Looking for AF_INET6 - found
-- Looking for O_NONBLOCK
-- Looking for O_NONBLOCK - not found
-- Looking for FIONBIO
-- Looking for FIONBIO - found
-- Looking for SIOCGIFADDR
-- Looking for SIOCGIFADDR - not found
-- Looking for MSG_NOSIGNAL
-- Looking for MSG_NOSIGNAL - not found
-- Looking for PF_INET6
-- Looking for PF_INET6 - found
-- Looking for SO_NONBLOCK
-- Looking for SO_NONBLOCK - not found
-- Looking for CLOCK_MONOTONIC
-- Looking for CLOCK_MONOTONIC - not found
-- Performing Test HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID
-- Performing Test HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID - Success
-- Performing Test HAVE_LL
-- Performing Test HAVE_LL - Success
-- Looking for bitncmp
-- Looking for bitncmp - not found
-- Looking for closesocket
-- Looking for closesocket - found
-- Looking for CloseSocket
-- Looking for CloseSocket - not found
-- Looking for connect
-- Looking for connect - found
-- Looking for fcntl
-- Looking for fcntl - not found
-- Looking for freeaddrinfo
-- Looking for freeaddrinfo - found
-- Looking for getaddrinfo
-- Looking for getaddrinfo - found
-- Looking for getenv
-- Looking for getenv - found
-- Looking for gethostbyaddr
-- Looking for gethostbyaddr - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for gethostname
-- Looking for gethostname - found
-- Looking for getnameinfo
-- Looking for getnameinfo - found
-- Looking for getservbyport_r
-- Looking for getservbyport_r - not found
-- Looking for getservbyname_r
-- Looking for getservbyname_r - not found
-- Looking for gettimeofday
-- Looking for gettimeofday - not found
-- Looking for if_indextoname
-- Looking for if_indextoname - not found
-- Looking for inet_net_pton
-- Looking for inet_net_pton - not found
-- Looking for ioctl
-- Looking for ioctl - not found
-- Looking for ioctlsocket
-- Looking for ioctlsocket - found
-- Looking for IoctlSocket
-- Looking for IoctlSocket - not found
-- Looking for recv
-- Looking for recv - found
-- Looking for recvfrom
-- Looking for recvfrom - found
-- Looking for send
-- Looking for send - found
-- Looking for setsockopt
-- Looking for setsockopt - found
-- Looking for socket
-- Looking for socket - found
-- Looking for strcasecmp
-- Looking for strcasecmp - not found
-- Looking for strcmpi
-- Looking for strcmpi - found
-- Looking for strdup
-- Looking for strdup - found
-- Looking for stricmp
-- Looking for stricmp - found
-- Looking for strncasecmp
-- Looking for strncasecmp - not found
-- Looking for strncmpi
-- Looking for strncmpi - not found
-- Looking for strnicmp
-- Looking for strnicmp - found
-- Looking for writev
-- Looking for writev - not found
-- Looking for __system_property_get
-- Looking for __system_property_get - not found
--
-- 3.19.4.0
-- Looking for a ASM_NASM compiler
-- Looking for a ASM_NASM compiler - NOTFOUND
CMake Warning at cmake/ssl.cmake:37 (message):
  Disabling SSL assembly support because NASM could not be found
Call Stack (most recent call first):
  CMakeLists.txt:317 (include)


-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of off64_t
-- Check size of off64_t - failed
-- Looking for fseeko
-- Looking for fseeko - not found
-- Looking for unistd.h
-- Looking for unistd.h - not found
-- Configuring done
-- Generating done

Parker Huang

unread,
Mar 22, 2022, 11:36:49 AM3/22/22
to grpc.io
I tried to include all libraries into this sample application with no luck. Here is the list if libraries included:
\.build\third_party\abseil-cpp\absl\base\Debug\absl_base.lib
\.build\third_party\abseil-cpp\absl\base\Debug\absl_log_severity.lib
\.build\third_party\abseil-cpp\absl\base\Debug\absl_malloc_internal.lib
\.build\third_party\abseil-cpp\absl\base\Debug\absl_raw_logging_internal.lib
\.build\third_party\abseil-cpp\absl\base\Debug\absl_scoped_set_env.lib
\.build\third_party\abseil-cpp\absl\base\Debug\absl_spinlock_wait.lib
\.build\third_party\abseil-cpp\absl\base\Debug\absl_strerror.lib
\.build\third_party\abseil-cpp\absl\base\Debug\absl_throw_delegate.lib
\.build\third_party\abseil-cpp\absl\container\Debug\absl_hashtablez_sampler.lib
\.build\third_party\abseil-cpp\absl\container\Debug\absl_raw_hash_set.lib
\.build\third_party\abseil-cpp\absl\debugging\Debug\absl_debugging_internal.lib
\.build\third_party\abseil-cpp\absl\debugging\Debug\absl_demangle_internal.lib
\.build\third_party\abseil-cpp\absl\debugging\Debug\absl_examine_stack.lib
\.build\third_party\abseil-cpp\absl\debugging\Debug\absl_failure_signal_handler.lib
\.build\third_party\abseil-cpp\absl\debugging\Debug\absl_leak_check.lib
\.build\third_party\abseil-cpp\absl\debugging\Debug\absl_leak_check_disable.lib
\.build\third_party\abseil-cpp\absl\debugging\Debug\absl_stacktrace.lib
\.build\third_party\abseil-cpp\absl\debugging\Debug\absl_symbolize.lib
\.build\third_party\abseil-cpp\absl\flags\Debug\absl_flags.lib
\.build\third_party\abseil-cpp\absl\flags\Debug\absl_flags_commandlineflag.lib
\.build\third_party\abseil-cpp\absl\flags\Debug\absl_flags_commandlineflag_internal.lib
\.build\third_party\abseil-cpp\absl\flags\Debug\absl_flags_config.lib
\.build\third_party\abseil-cpp\absl\flags\Debug\absl_flags_internal.lib
\.build\third_party\abseil-cpp\absl\flags\Debug\absl_flags_marshalling.lib
\.build\third_party\abseil-cpp\absl\flags\Debug\absl_flags_parse.lib
\.build\third_party\abseil-cpp\absl\flags\Debug\absl_flags_private_handle_accessor.lib
\.build\third_party\abseil-cpp\absl\flags\Debug\absl_flags_program_name.lib
\.build\third_party\abseil-cpp\absl\flags\Debug\absl_flags_reflection.lib
\.build\third_party\abseil-cpp\absl\flags\Debug\absl_flags_usage.lib
\.build\third_party\abseil-cpp\absl\flags\Debug\absl_flags_usage_internal.lib
\.build\third_party\abseil-cpp\absl\hash\Debug\absl_city.lib
\.build\third_party\abseil-cpp\absl\hash\Debug\absl_hash.lib
\.build\third_party\abseil-cpp\absl\hash\Debug\absl_low_level_hash.lib
\.build\third_party\abseil-cpp\absl\numeric\Debug\absl_int128.lib
\.build\third_party\abseil-cpp\absl\profiling\Debug\absl_exponential_biased.lib
\.build\third_party\abseil-cpp\absl\profiling\Debug\absl_periodic_sampler.lib
\.build\third_party\abseil-cpp\absl\random\Debug\absl_random_distributions.lib
\.build\third_party\abseil-cpp\absl\random\Debug\absl_random_internal_distribution_test
\.build\third_party\abseil-cpp\absl\random\Debug\absl_random_internal_platform.lib
\.build\third_party\abseil-cpp\absl\random\Debug\absl_random_internal_pool_urbg.lib
\.build\third_party\abseil-cpp\absl\random\Debug\absl_random_internal_randen.lib
\.build\third_party\abseil-cpp\absl\random\Debug\absl_random_internal_randen_hwaes.li
\.build\third_party\abseil-cpp\absl\random\Debug\absl_random_internal_randen_hwaes_i
\.build\third_party\abseil-cpp\absl\random\Debug\absl_random_internal_randen_slow.lib
\.build\third_party\abseil-cpp\absl\random\Debug\absl_random_internal_seed_material.lib
\.build\third_party\abseil-cpp\absl\random\Debug\absl_random_seed_gen_exception.lib
\.build\third_party\abseil-cpp\absl\random\Debug\absl_random_seed_sequences.lib
\.build\third_party\abseil-cpp\absl\status\Debug\absl_status.lib
\.build\third_party\abseil-cpp\absl\status\Debug\absl_statusor.lib
\.build\third_party\abseil-cpp\absl\strings\Debug\absl_cord.lib
\.build\third_party\abseil-cpp\absl\strings\Debug\absl_cordz_functions.lib
\.build\third_party\abseil-cpp\absl\strings\Debug\absl_cordz_handle.lib
\.build\third_party\abseil-cpp\absl\strings\Debug\absl_cordz_info.lib
\.build\third_party\abseil-cpp\absl\strings\Debug\absl_cordz_sample_token.lib
\.build\third_party\abseil-cpp\absl\strings\Debug\absl_cord_internal.lib
\.build\third_party\abseil-cpp\absl\strings\Debug\absl_strings.lib
\.build\third_party\abseil-cpp\absl\strings\Debug\absl_strings_internal.lib
\.build\third_party\abseil-cpp\absl\strings\Debug\absl_str_format_internal.lib
\.build\third_party\abseil-cpp\absl\synchronization\Debug\absl_graphcycles_internal.lib
\.build\third_party\abseil-cpp\absl\synchronization\Debug\absl_synchronization.lib
\.build\third_party\abseil-cpp\absl\time\Debug\absl_civil_time.lib
\.build\third_party\abseil-cpp\absl\time\Debug\absl_time.lib
\.build\third_party\abseil-cpp\absl\time\Debug\absl_time_zone.lib
\.build\third_party\abseil-cpp\absl\types\Debug\absl_bad_any_cast_impl.lib
\.build\third_party\abseil-cpp\absl\types\Debug\absl_bad_optional_access.lib
\.build\third_party\abseil-cpp\absl\types\Debug\absl_bad_variant_access.lib

.build\Debug\address_sorting.lib
.build\Debug\gpr.lib
.build\Debug\grpc++.lib
.build\Debug\grpc++_alts.lib
.build\Debug\grpc++_error_details.lib
.build\Debug\grpc++_reflection.lib
.build\Debug\grpc++_unsecure.lib
.build\Debug\grpc.lib
.build\Debug\grpcpp_channelz.lib
.build\Debug\grpc_csharp_ext.lib
.build\Debug\grpc_plugin_support.lib
.build\Debug\grpc_unsecure.lib
.build\Debug\upb.lib

pixel...@gmail.com

unread,
Mar 23, 2022, 1:15:35 PM3/23/22
to grpc.io
These building instructions you've linked is a private URL from your company, we can't look at them and see what's wrong with them.

Parker Huang

unread,
Mar 24, 2022, 4:36:07 AM3/24/22
to grpc.io
Hi, thank you for the response. 
I should really point the link to https://github.com/grpc/grpc/blob/master/BUILDING.md
I found a way to get grpc by following this: https://sanoj.in/2020/05/07/working-with-grpc-in-windows.html
And also I figured out that it seems I need to link to ws2_32.lib to get rid of linker issues.
Reply all
Reply to author
Forward
0 new messages