0

我正在尝试使用 Cygwin 编译和安装 C++ 库。我已经正确安装了库的依赖项。但是, ./configure 抛出错误:

检查 protobuf... 无配置:错误:未满足包要求(protobuf >= 3.3):

找不到包“protobuf”

如果您以非标准前缀安装软件,请考虑调整 PKG_CONFIG_PATH 环境变量。

然后我检查了 config.log,并找到了指向PKG_CONFIG_PATHlib/pkgconfig目录的建议。我立即设置PKG_CONFIG_PATH/usr/local/lib/pkgconfigprotobuf.pc位于我的系统上的目录。错误仍然存​​在。对这里类似问题的一些检查表明有些人必须使用 Windows 文件路径,所以我切换PKG_CONFIG_PATHc:\\cygwin64\\usr\\local\\lib\\pkgconfig. 错误仍然存​​在。我什至尝试设置PKG_CONFIG_PATH/cygdrive/c/cygwin64/usr/local/lib/pkgconfig. 这没有用。

我在这里做错了什么?

4

1 回答 1

2

(因为我还不能发表评论,我想我需要留下这个作为答案?)

从 cygwin setup.exe 安装 libprotobuf-devel 包后,我可以运行pkg-config --list-all并查看protobuf输出中列出的内容。此外,pkg-config --print-provides protobuf返回protobuf = 3.3.1. 你得到相同的输出吗?

我还会查看configure脚本以查看它要检查的内容。打开configure并搜索protobufchecking for protobuf应该让您接近实际检查。也许configure正在尝试做一些奇怪的事情。

最后,至少在我的 cygwin 安装中,我没有/usr/local/lib/pkgconfig目录。如果你从源代码安装了 protobuf,也许你可以试试 cygwin devel 包 (libprotobuf-devel) 看看是否有帮助。

于 2017-07-11T00:16:32.947 回答