我正在尝试使用 Cygwin 编译和安装 C++ 库。我已经正确安装了库的依赖项。但是,./configure 抛出错误:
正在检查 protobuf... 否 配置:错误:不满足包要求(protobuf >= 3.3):
没有找到包 'protobuf'
如果您需要考虑调整 PKG_CONFIG_PATH 环境变量 以非标准前缀安装软件。
然后我检查了 config.log,发现将 PKG_CONFIG_PATH
指向 lib/pkgconfig
目录的建议。我立即将 PKG_CONFIG_PATH
设置为 /usr/local/lib/pkgconfig
,protobuf.pc
在我的系统中所在的目录。错误仍然存在。在这里对类似问题的一些检查表明有些人必须使用 Windows 文件路径,所以我将 PKG_CONFIG_PATH
切换为 c:\\cygwin64\\usr\\local\\lib\\pkgconfig
。错误仍然存在。我什至尝试将 PKG_CONFIG_PATH
设置为 /cygdrive/c/cygwin64/usr/local/lib/pkgconfig
。哪个不起作用。
我在这里做错了什么?
最佳答案
(因为我还不能评论,我想我需要留下这个作为答案?)
从 cygwin setup.exe 安装 libprotobuf-devel 包后,我可以运行 pkg-config --list-all
并查看输出中列出的 protobuf
。此外,pkg-config --print-provides protobuf
返回 protobuf = 3.3.1
。你得到相同的输出吗?
我还会查看 configure
脚本,看看它试图检查什么。打开 configure
并搜索 protobuf
或 checking for protobuf
应该让您接近实际检查。也许 configure
正在尝试做一些奇怪的事情。
最后,至少在我的 cygwin 安装中,我没有 /usr/local/lib/pkgconfig
目录。如果您从源代码安装了 protobuf,也许您可以尝试 cygwin 开发包 (libprotobuf-devel),看看是否有帮助。
关于c++ - Cygwin pkg-config/protobuf 文件路径问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45023283/