错误:未满足软件包要求(libprotobuf-c> = 1.0.1)

时间:2019-04-25 15:58:43

标签: linux protocol-buffers embedded-linux autoconf pkg-config

我正在使用来自GitHub的protobuf-c。当我运行时,会发生此错误。

$ git clone https://github.com/protobuf-c/protobuf-c.git
Cloning into 'protobuf-c'...
$ cd protobuf-c
$ ./autogen.sh
...

然后:

$ ./configure
...

checking whether g++ supports C++11 features with -std=c++11... yes
checking for protobuf... no
checking for protobuf... no
configure: error: Package requirements (libprotobuf-c >= 1.0.1) were not met:
No package 'libprotobuf-c' found

Consider adjusting the `PKG_CONFIG_PATH` environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables `libprotobuf_c_CFLAGS`
and `libprotobuf_c_LIBS` to avoid the need to call pkg-config.
See the pkg-config man page for more details.
make: *** [config.status] Erreur 1

问题出在哪里,我该如何解决?

1 个答案:

答案 0 :(得分:0)

  

如何解决有关libprotobuf-c的配置错误?
  配置:错误:不符合软件包要求(libprotobuf-c> = 1.0.1)...

确保已安装这些先决条件。 README.md未列出它们。

Ubuntu的软件包为:

  • libprotobuf-dev
  • libprotoc-dev
  • protobuf编译器

Fedora的软件包为:

  • protobuf-devel
  • protobuf编译器

如果您缺少libprotobuf-dev,则会收到错误消息:

configure: error: Package requirements (protobuf >= 2.6.0) were not met...

如果您缺少libprotoc-dev,则会收到错误消息:

checking for google/protobuf/compiler/command_line_interface.h:
configure: error: required protobuf header file not found

如果您缺少protobuf-compiler,则会收到错误消息:

configure: error: Please install the protobuf compiler from
https://code.google.com/p/protobuf/

安装了先决条件后,您应该成功配置摘要,例如:

configure: creating ./config.status
config.status: creating Makefile
config.status: creating protobuf-c/libprotobuf-c.pc
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
config.status: executing libtool commands

protobuf-c 1.3.1

    CC:                     gcc
    CFLAGS:                 -g -O2
    CXX:                    g++ -std=c++11
    CXXFLAGS:               -g -O2
    LDFLAGS:
    LIBS:

    prefix:                 /usr/local
    sysconfdir:             ${prefix}/etc
    libdir:                 ${exec_prefix}/lib
    includedir:             ${prefix}/include
    pkgconfigdir:           ${libdir}/pkgconfig

    bigendian:              no
    protobuf version:       libprotoc 3.0.0