Невозможно связать библиотеки grp c в Windows - PullRequest
0 голосов
/ 06 мая 2020

Я установил grp c: x64, используя vcpkg в windows, и я пытаюсь скомпилировать программу сервера basi c greeter. Но это дает мне ошибки связывания. Несмотря на то, что команда find_package может найти пакет grp c, я подозреваю, что пути к библиотекам заданы неправильно. Я не могу понять точную причину этой проблемы. Если find_package выполнен успешно, нужно ли явно указывать пути к библиотекам?

OS: Windows 10
Цепочка инструментов: Visual Studio 15

cmake_minimum_required( VERSION 3.1 )

project( test )

find_package(gRPC CONFIG REQUIRED)

find_package( Protobuf REQUIRED )

add_executable( ${PROJECT_NAME} src/main.cpp proto/hello_world.grpc.pb.cc  proto/hello_world.pb.cc)

target_link_libraries( ${PROJECT_NAME} PRIVATE gRPC::grpc++ gRPC::gpr gRPC::grpc gRPC::grpc++ gRPC::grpc_cronet protobuf::libprotoc protobuf::libprotobuf protobuf::libprotobuf-lite )

Я получаю следующие ошибки во время работы программы сервера приветствия basi c

    1>------ Build started: Project: test, Configuration: Release x64 ------<br>
    1>main.obj : error LNK2019: unresolved external symbol "void __cdecl grpc_impl::reflection::InitProtoReflectionServerBuilderPlugin(void)" (?InitProtoReflectionServerBuilderPlugin@reflection@grpc_impl@@YAXXZ) referenced in function "void __cdecl RunServer(void)" (?RunServer@@YAXXZ)
    1>C:\all_files\junkyard\_grpc\build\Release\test.exe : fatal error LNK1120: 1 unresolved externals
    2>------ Skipped Build: Project: ALL_BUILD, Configuration: Release x64 ------
    2>Project not selected to build for this solution configuration 
    ========== Build: 0 succeeded, 1 failed, 1 up-to-date, 1 skipped ==========

Мы будем благодарны за любые указатели для определения проблемы. Спасибо.

1 Ответ

0 голосов
/ 06 мая 2020

Разобрался с пропавшей библиотекой. gRPC::grpc++_reflection необходимо добавить в список зависимостей.

...