在 pkg-config 搜索路径中找不到通过 Homebrew 安装的包

Package installed through Homebrew was not found in pkg-config search path

当试图通过 Swift 包管理器 link 到系统安装的库时,在 pkgConfig 下指定它,它说在 pkg-config 搜索路径 中找不到已安装的 软件包。它建议找到模块附带的 .pc 文件,但没有。

我如何link使用 SPM 访问图书馆?

我的方法是创建 .pc 文件并将其放入保存 .pc 文件的 /usr/local/lib/pkgconfig

.pc 文件基本上遵循以下格式:

  • 定义变量
  • 名称、描述、版本
  • 库和 Cflags

例如:

prefix=/usr/local/ModuleFolder
libdir=${prefix}/lib
includedir=${prefix}/include

Name: samplemodule
Description: Appears in a Stack Overflow answer.
Version: 1.0.0
Libs: -L${libdir}
Cflags: -I${includedir}

您可以检查 pkg-config 现在是否检测到带有 pkg-config yourmodule --libs --cflags 的文件,如果是,那么它也应该在 Package.swift 中工作。

如果应用程序是通过 Homebrew 安装的,则可能应该向开发人员报告缺少 .pc 文件的问题,尽管在某些情况下他们可能不想实施它。

有关 pkg-config 文件的更多信息,请访问 https://people.freedesktop.org/~dbn/pkg-config-guide.html