Cygwin pkg-config/protobuf 文件路径问题

Cygwin pkg-config/protobuf filepath issues

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

正在检查 protobuf...否 配置:错误:不满足包要求(protobuf >= 3.3):

未找到包 'protobuf'

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

然后我检查了 config.log,发现了将 PKG_CONFIG_PATH 指向 lib/pkgconfig 目录的建议。我立即将 PKG_CONFIG_PATH 设置为 /usr/local/lib/pkgconfigprotobuf.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 returns protobuf = 3.3.1。你得到相同的输出吗?

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

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