【解决】pkg-config script could not be found或configure: error: pkg-config is required
作者:admin 时间:2026-3-24 7:41:18 浏览:在编译程序时,你是否也遇到过“pkg-config script could not be found”或“configure:error:pkg-config is required”的错误?解决方法很简单,只需基于你的Linux发行版运行以下命令之一。
# Debian, Ubuntu, Kali Linux, Linux Mint, Zorin OS, Pop!_OS, etc.
$ sudo apt install pkg-config
# Red Hat, Fedora, CentOS, Rocky Linux, AlmaLinux, etc.
$ sudo dnf install pkgconfig
# Arch Linux, Manjaro, BlackArch, Garuda, etc.
$ sudo pacman -S pkgconf
# macOS
$ brew install pkg-config
Linux中的pkg-config是什么?
pkg-config是一个帮助工具,用于在编译应用程序或程序期间提供头文件或库到编译器选项的正确路径。
头文件或库的路径经常因系统而异, pkg-config帮助确定头文件和代码的正确路径,以将它们链接到软件项目,而不是硬编码它们。
它是免费的,开源的,最初是为Linux和其他类UNIX系统发布的,但后来移植到Windows和macOS。
pkg-config命令的用法
pkg-config通过提供已安装的头文件和库的路径,在编译应用程序期间提供帮助。要了解它的用法,你必须首先使用此命令找出系统上可用的软件包列表:
$ pkg-config --list-all
输出:

一旦你选择了包名,你主要使用以下两个选项:
- “-cflags”:它将提供“-I”(包含)编译器选项的路径,通常用于头文件。
- “-libs”:它将返回“-L”(libs)编译器选项的路径,该选项通常用于将编译后的库链接到新代码。
假设你想找到“python3”包的编译器选项,你可以运行:
$ pkg-config --libs --cflags python3
输出:

在这种情况下,每个“include”和“libs”编译器选项只有一个路径。但是,某些软件包(如“gtk+-3.0”)可能提供多个路径。
$ pkg-config --libs --cflags gtk+-3.0
输出:

这些输出可用于程序编译。你可以复制粘贴它或将其分配给自定义环境变量。例如,通过环境变量将pkg-config命令的输出导出到编译器,如下所示:
$ export COMPILER_PATHS=$(pkg-config --libs --cflags LIBRARYNAME)
之后,你可以使用这个环境变量来编译你的程序,如下所示:
$ COMPILER -c MYPROGRAM ${COMPILER_PATHS} 总结
如果你不是程序员,也不参与编译,你可能会想知道为什么这很重要。但是,如果你最终通过源代码参与编译其他程序,则用于设置环境的“configure”文件可能包含用于提供路径的pkg-config。在这种情况下,必须在系统上安装pkg-config,否则可能会遇到文章介绍中提到的错误。
相关文章



