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  

包括以下部分:

  1. 执行pkg-config --cflags --libs dbus-1在其间运行命令。
  2. 使用标志运行gcc 1.返回和输入文件输出对象文件。