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

ame*_*ker 2 linux autoconf pkg-config protocol-buffers embedded-linux

我正在使用GitHub 上的protobuf-c。当我运行 make 时出现此错误。

$ git clone https://github.com/protobuf-c/protobuf-c.git
Cloning into 'protobuf-c'...
$ cd protobuf-c
$ ./autogen.sh
...
Run Code Online (Sandbox Code Playgroud)

进而:

$ ./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
Run Code Online (Sandbox Code Playgroud)

有什么问题以及如何解决它?

jww*_*jww 7

如何修复有关 libprotobuf-c 的配置错误?
配置:错误:未满足包要求(libprotobuf-c >= 1.0.1)...

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

Ubuntu 的软件包是:

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

Fedora 的软件包有:

  • protobuf-开发
  • protobuf编译器

如果缺少libprotobuf-dev,则会出现错误:

configure: error: Package requirements (protobuf >= 2.6.0) were not met...
Run Code Online (Sandbox Code Playgroud)

如果缺少libprotoc-dev,则会出现错误:

checking for google/protobuf/compiler/command_line_interface.h:
configure: error: required protobuf header file not found
Run Code Online (Sandbox Code Playgroud)

如果缺少protobuf-compiler,则会出现错误:

configure: error: Please install the protobuf compiler from
https://code.google.com/p/protobuf/
Run Code Online (Sandbox Code Playgroud)

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

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
Run Code Online (Sandbox Code Playgroud)