0

现在我只是想在 Windows 上使用 MSYS 从源代码构建 libsamperate,但是我遇到了一个配置检查问题,我之前已经安装了 FFTW 和 libsndfile,它们的包含文件 lib 文件和 pkg-config 文件都在正确的位置,但是当我使用 sh./configure为 libsamprate 生成 makefile 时,输出总是提到

checking for pkg-config... no
checking for SNDFILE... no

我还设置了 PKG_CONFIG_PATH(usr/local/lib/pkgconfig) 并尝试了很多次但结果似乎相同

有谁知道这件事?

4

1 回答 1

-1

如评论中所述,您的环境未设置为运行 pkg-config 可执行文件。与 pkg-config 相关的问题有很多,并且越来越流行建议正确的解决方案是完全停止使用它。不幸的是,如果您尝试安装使用 pkg-config 的软件包,您将无法使用该解决方案。最接近的方法是在您的环境中将 PKG_CONFIG 设置为 'true' 或 ':'。这会导致 pkg-config 不发出任何输出,但在运行时始终返回 true,因此您需要通过标准机制(LDFLAGS 等)指定库和头文件的位置。

pkg-config 很棒,因为它允许用户(安装软件包的人)不了解标准标志。pkg-config 的问题在于它允许用户无知。

作为包维护者,您应该停止使用 pkg-config。作为用户,您应该在您的环境或 config.site 中设置 PKG_CONFIG=:,或者养成使用 PKG_CONFIG=: 作为参数调用配置的习惯。(如果您使用的软件包依赖于古老的 autoconf,而您无法将此类标志作为参数传递,我不确定适当的操作是什么,但建议升级软件包维护者可能不是一个坏主意。)

于 2011-09-11T13:09:37.967 回答