在linux下使用gcc编译项目时,一般都需要使用非标准的库和头文件,而这些文件在不同人的系统里可能装在不同路径,编译时需要使用-I指定头文件目录,使用-L指定库文件目录.为了让编译时的命令统一,有了pkg-config.它是一个提取库信息的工具.通过库提供的.pc文件可以从中提取信息.支持pkg-config的库对应的.pc文件一般在lib/pkgconfig目录下.
如gtk+-2.0.pc的内容为:
prefix=/devel/target/0684580203da616c0bb222943906b663
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include
target=win32
gtk_binary_version=2.10.0
gtk_host=i686-pc-mingw32
Name: GTK+
Description: GTK+ Graphical UI Library (${target} target)
Version: 2.24.8
Requires: gdk-${target}-2.0 atk cairo gdk-pixbuf-2.0 gio-2.0
Libs: -L${libdir} -lgtk-${target}-2.0
Cflags: -I${includedir}/gtk-2.0 -mms-bitfields
如:pkg-config --cflags --libs gtk+-2.0就会输出gtk及其依赖的库的信息.然后可以利用这些信息去进行编译.
但pkg-config是怎么获得这些信息的呢?它使用PKG_CONFIG_PATH去指定搜索的目录.所以当我们安装了新的库且不在gcc默认搜索的目录时,可以使用-I和-L选项或者使用pkg-config.
例如:gcc -o test test.c 'pkg-config --libs --cflags gtk+-2.0'
分享到:
相关推荐
在使用pkg-config-lite-0.28-1_bin-win32之前,确保将其解压到适当位置,并将bin目录添加到系统的PATH环境变量中,这样可以在命令行中全局调用pkg-config命令。同时,安装的库也需要提供对应的`.pc`配置文件,pkg-...
pkg-config是一款在Linux和类Unix系统中广泛使用的命令行工具,但在Windows环境下,如 MingW 和 msys 这样的GNU工具链中也常被用到。这个“pkg-config压缩包”是专为这类环境编译的,用于解决在交叉编译过程中遇到的...
pkg-config 是一个在软件开发中广泛使用的工具,尤其在Linux和类Unix系统中,它用于管理编译和链接时所需的库依赖关系。然而,这里我们关注的是“pkg-config_0.23-3_win64”这个针对Windows x64平台的版本。pkg-...
pkg-config 是一个在软件开发中广泛使用的工具,尤其在Linux和类Unix系统中,它用于管理编译和链接时所需的库依赖关系。然而,这里我们关注的是“pkg-config_0.23-3_win32”这个针对Windows x86平台的版本。这个...
标题中的 "pkg-config-0.29.2.tar" 指的是 pkg-config 的 0.29.2 版本的源代码包,通常以 tar 形式提供,用于在目标系统上编译和安装。 pkg-config 的核心功能在于管理元数据,这些元数据包括库的路径、版本、编译...
压缩包中的文件“pkg-config-0.29.2”很可能是pkg-config的源代码包,版本号为0.29.2。这个版本可能包含了修复的错误、性能优化或者新的功能。用户需要解压后进行编译和安装,以便在他们的开发环境中使用pkg-config...
1. **解压**:首先,使用`tar -zxvf pkg-config-0.28.tar.gz`命令解压缩文件。 2. **进入目录**:`cd pkg-config-0.28`进入解压后的目录。 3. **配置**:运行`./configure`检查系统环境并生成Makefile。 4. **编译**...
1. 解压:首先,你需要使用tar命令解压源码包,例如 `tar -zxvf pkg-config-0.29.1.tar.gz`。 2. 配置:接下来,进入解压后的目录,运行`./configure`脚本来检测系统环境并生成Makefile。这个步骤会检查系统中必要...
pkg-config本身是一个linux下的命令,其功能是用于获得某一个库/模块的所有编译相关的信息。 # 在windows上面配置pkg-config 将下载的pkg-config_0.23-2_win64解压,解压的bin与MinGW-w64里的的bin目录合并。
pkg-config 是一个在软件开发中广泛使用的工具,尤其在Linux和跨平台开发环境中,它用于管理编译和链接时所需的库依赖信息。标题中的“pkg-config_0.23-3_win32.rar”表明这是一个适用于Windows 32位系统的pkg-...
pkg-config 是一个在软件开发中广泛使用的工具,主要用于管理和处理库的编译和链接选项。在Windows环境下,pkg-config 的作用同样重要,特别是在跨平台开发中,它可以帮助开发者正确地配置和使用各种库,比如GTK+、...
pkg-config is a helper tool used when compiling applications and libraries. It helps you insert the correct compiler options on the command line so an application can use gcc -o test test.c `pkg-...
pkg-config.exe
这个“pkg-config-0.23 Win32+Win64”是该工具的一个预编译版本,适用于32位和64位的Windows操作系统。 pkg-config的主要功能是帮助开发者管理和使用库文件,特别是C和C++的开发。它主要解决了查找和链接库文件时的...
这个"pkg-config-0.26-1-win32.zip"文件看起来是pkg-config的Windows 32位版本,版本号为0.26-1。 pkg-config 的主要功能是读取和处理`.pc`文件,这些文件包含了库的路径、链接选项、版本信息等。例如,如果你正在...
官方离线安装包,亲测可用
pkg-config is a script to make putting together all the build flags when compiling/linking a lot easier. Report bugs at http://bugzilla.freedesktop.org/
pkg-config-rs 一个简单的库,打算与Cargo软件包一起用作构建依赖项,以便使用系统pkg-config工具(如果有)来确定库的位置。 您可以直接使用此板条箱来探查特定的库,也可以使用在中声明所有pkg-config依赖Cargo....
`pkg-config`是一个在Unix-like系统中广泛使用的工具,它可以帮助开发者方便地管理库的编译和链接选项。在Windows环境下,如MinGW和MSYS,我们也可以利用这个工具来简化编译过程。在本案例中,我们将讨论如何在...