c++ gRPC共享库构建期间出现链接错误

3qpi33ja  于 2022-12-30  发布在  其他
关注(0)|答案(1)|浏览(146)

当我尝试将gRPC构建为一个静态库时,一切工作正常。然而,当将它构建为一个共享库时,我遇到了链接问题。

option(BUILD_SHARED_LIBS "build shared libraries" ON)
include(FetchContent)
FetchContent_Declare(
        grpc
        GIT_REPOSITORY https://github.com/grpc/grpc.git
        GIT_TAG        v1.49.1)
set(FETCHCONTENT_QUIET OFF)
FetchContent_MakeAvailable(grpc)
protoc-3.21.6.0: error while loading shared libraries: libprotocd.so.32: cannot open shared object file: No such file or directory

通过grpc内的add_custom_command执行脚本时发生此错误

rjee0c15

rjee0c151#

我相信错误信息非常清楚:

protoc-3.21.6.0: error while loading shared libraries: libprotocd.so.32: cannot open shared object file: No such file or directory

要构建gRPC的共享库,您还需要协议缓冲区编译器的共享库,即protoc。我将从构建protoc的共享库开始。
如果你确定你有它们,那么我会检查CMake是否能正确地找到它们(通过检查它们是否在标准系统路径中,或者通过使用CMAKE_MODULE_PATH附加. cmake文件的位置)
希望有帮助。

相关问题