Первая ошибка:
LNK2019 unresolved external symbol _address_sorting_init referenced in function "void __cdecl grpc_resolver_dns_ares_init(void)" (?grpc_resolver_dns_ares_init@@YAXXZ) grpc.lib(dns_resolver_ares.obj)
может быть устранена путем добавления address_sorting.lib.Эта библиотека находится в каталоге сборки grpc, так же, как grpc ++. Lib, grpc.lib и gpr.lib.
Вторая ошибка:
LNK2001 unresolved external symbol __imp__htons@4 grpc.lib(socket_utils_windows.obj)
может быть устранена путем добавления ws2_32.libсогласно предложению Николаса.
Третья ошибка:
LNK2019 unresolved external symbol _ares_gethostbyname referenced in function "struct grpc_ares_request * __cdecl grpc_dns_lookup_ares_continue_after_check_localhost_and_ip_literals_locked(char const *,char const *,char const *,struct grpc_pollset_set *,struct grpc_closure *,struct grpc_lb_addresses * *,bool,char * *,struct grpc_combiner *)" (?grpc_dns_lookup_ares_continue_after_check_localhost_and_ip_literals_locked@@YAPAUgrpc_ares_request@@PBD00PAUgrpc_pollset_set@@PAUgrpc_closure@@PAPAUgrpc_lb_addresses@@_NPAPADPAUgrpc_combiner@@@Z) grpc.lib(grpc_ares_wrapper.obj)
может быть устранена путем добавления cares.lib.Вы должны быть в состоянии найти этот файл lib в каталоге third_party \ cares \ cares \ lib внутри каталога сборки grpc, нет необходимости получать его из других источников.
В качестве резюме, предположим, что ваш каталог сборки grpc - c: \ grpc \ .build, вот библиотеки, необходимые для сборки приложения версии Release:
c:\grpc\.build\grpc++.lib
c:\grpc\.build\gpr.lib
c:\grpc\.build\grpc.lib
c:\grpc\.build\address_sorting.lib
c:\grpc\.build\third_party\protobuf\libprotobuf.lib
c:\grpc\.build\third_party\zlib.lib
c:\grpc\.build\third_party\cares\cares\lib\cares.lib
ws2_32.lib
Если вы хотите создать версию приложения Debug, сначала создайте версию Debug grpc, изатем обратитесь к библиотекам из отладочной версии grpc.Чтобы создать отладочную версию с Ninja:
> md .debug
> cd .debug
> call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" x64
> cmake .. -GNinja -DCMAKE_BUILD_TYPE=Debug
> cmake --build .
Пожалуйста, измените вышеуказанный каталог vcvarsall.bat в соответствии с вашей установкой Visual Studio.
Обратите также внимание на то, что Debug-версия файла библиотеки protobuf называетсяlibprotobufd.lib, а не libprotobuf.lib.