9

当我在项目的构建目录中执行 cmake 时,出现此错误。最初我得到了一个

未找到 protobuf-config.cmake

错误。所以我把protobuf-config.cmake文件的路径给了Protobuf_DIR。后来它开始显示这个新错误:

/opt/cmake/share/cmake-3.13/Modules/FindPackageHandleStandardArgs.cmake:137 处的 CMake 错误(消息):找不到 Protobuf(缺少:Protobuf_PROTOC_EXECUTABLE)

(找到合适的版本“3.6.1”,最低要求是“3.0.0”)

我还附上了错误日志文件: https ://drive.google.com/open?id=1y7BZ6lDBtxvla7r-o188xM_FjwLqwhCx

我在 Ubuntu-18 上使用 cmake 版本:3.13 和 protobuf 版本:3.6.1

4

5 回答 5

13

您可能没有安装 Protobuf 编译器和开发文件。要解决此问题,请运行以下命令:

sudo apt-get install protobuf-compiler libprotobuf-dev

或者,如果您手动构建 Protobuf,则无法使用构建类型构建它,RelWithDebInfo因为这会导致库和 CMake 出现问题。

于 2020-02-13T23:38:57.890 回答
0

在此处快速添加,在按照此答案安装 Protobuf 后,我必须删除build工作区中的文件夹cmake才能在没有此错误的情况下运行:)

于 2021-02-24T10:18:46.610 回答
-1

默认存储库通常包含过时的 protobuf 版本。最好从以下来源手动安装:

git clone --progress -b v3.10.0 https://github.com/protocolbuffers/protobuf && \
    ( \
      cd protobuf; \
      mkdir build; \
      cd build; \
      cmake ../cmake \
        -DCMAKE_BUILD_TYPE=Release \
        -Dprotobuf_BUILD_SHARED_LIBS=ON \
        -Dprotobuf_BUILD_TESTS=OFF; \
      make -j4 install; \
    ) && \
    rm -rf protobuf
于 2020-02-19T11:49:24.037 回答
-1

在 Ubuntu 20.04 上从 apt 安装,没有权限/usr/include/google

修理:sudo chmod +Xr -R /usr/include/google

于 2020-12-30T12:27:36.373 回答
-2

嗨,

列出您的 protobuf 库,sudo apt list | grep protobuf它应该会告诉您默认情况下它将安装什么。运行protoc --version,以便您看到现在默认识别的内容。之后,如果需要,从 github 获取一个版本并安装它(这应该不会花很长时间)。然后protoc --version再次运行。

于 2020-02-16T14:04:55.540 回答