pkg-config在gcc中有什么意义?
在构建dbus示例时,我发现我们需要在gcc中添加pkg-config。 例如:
gcc `pkg-config --cflags --libs dbus-1` -o
pkg-config --cflags --libs dbus-1
什么意义? 这是什么pkg-config? 什么是额外的cflags? 什么是--libs
在这里?
gcc `pkg-config --cflags --libs dbus-1` -o
将运行pkg-config
命令,并将其输出作为参数传递给gcc。
pkg-config
的目的是使对库的链接更容易,因为不同的操作系统和发行版需要不同的编译标志(也称为CFLAGS
),库包含路径和要链接的库。 pkg-config
使用配置文件(由库定义)为编译器生成上述信息,并且使我们不必担心编译发生在哪个操作系统或分发上。
--cflags
表示pkg-config
应该为列出的包提供编译标志。 --libs
表示pkg-config
应该为列出的包提供链接信息。
和dbus-1
是包的名称。
gcc `pkg-config --cflags --libs dbus-1` -o
包括以下部分:
- 执行
pkg-config --cflags --libs dbus-1
在其间运行命令。 - 使用标志运行
gcc
1.返回和输入文件
输出对象文件。