在 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
当试图通过 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