【问题标题】:Unable to link the grpc libraries in Windows无法在 Windows 中链接 grpc 库
【发布时间】:2026-02-10 22:45:01
【问题描述】:

我已经在 windows 中使用 vcpkg 安装了 grpc:x64,我正在尝试编译基本的欢迎程序服务器程序。但它给了我链接错误。即使 find_package 命令能够找到 grpc 包,我怀疑库路径设置不正确。我无法弄清楚这个问题的确切原因。如果 find_package 成功,我是否必须明确提供库路径?

操作系统:Windows 10
工具链:Visual Studio 15

cmake_minimum_required(版本 3.1) 项目(测试) find_package(需要 gRPC 配置) find_package(需要 Protobuf) add_executable(${PROJECT_NAME} src/main.cpp proto/hello_world.grpc.pb.cc proto/hello_world.pb.cc) target_link_libraries(${PROJECT_NAME} 私有 gRPC::grpc++ gRPC::gpr gRPC::grpc gRPC::grpc++ gRPC::grpc_cronet protobuf::libprotoc protobuf::libprotobuf protobuf::libprotobuf-lite)

在基本问候服务器程序中出现以下错误

1>----- 构建开始:项目:测试,配置:发布 x64 ------
1>main.obj : 错误 LNK2019: 在函数“void __cdecl RunServer(void)”(?运行服务器@@YAXXZ) 1>C:\all_files\junkyard\_grpc\build\Release\test.exe : 致命错误 LNK1120: 1 unresolved externals 2>------ 跳过构建:项目:ALL_BUILD,配置:发布 x64 ------ 2>未选择为此解决方案配置构建项目 ========== 构建:0 成功,1 失败,1 最新,1 跳过 ==========

任何识别问题的指针将不胜感激。谢谢。

【问题讨论】:

  • 请以完整的形式添加您的错误消息,并以文本的形式添加,而不是以图像的形式。

标签: c++ windows cmake grpc vcpkg


【解决方案1】:

找出丢失的库。 gRPC::grpc++_reflection 需要添加到依赖列表中。

【讨论】: