Conan 和 gRPC:对各种 `gpr_` 符号的未定义引用

Conan and gRPC: Undefined references to various `gpr_` symbols

这是在我的项目中将 gRPC 与 Conan 结合使用时出现的问题。 总之,我有一个基于gRPC的项目,我的依赖是:

    requires = (
        "predictions-algorithms/15.16.51@navassist/testing",
        "grpc/1.20.0@inexorgame/stable",
        "protobuf/3.6.1@bincrafters/stable",
        "protoc_installer/3.6.1@bincrafters/stable"
    )

然而,在项目的链接过程结束时,出现了一堆消息,关于 libgrpc.a 中各种 gpr_* 符号的未定义引用。

我检查了 readelf -Ws my/package/path/to/libgrpc.a | grep gpr_(some symbol),果然,所有这些符号都没有定义。

我也在上面用的gRPC包的repository打开了issue

不知道下一步该做什么...欢迎任何帮助。

所以,问题是我链接的是 libgrpc,而不是它的依赖项!

最终,我修改了我的 CMakeLists.txt 看起来像(别问我为什么一开始就不是那样...):

target_link_libraries(${PROJECT_NAME}
    ${CONAN_LIBS}
)

然后就构建成功了