pkg-config在gcc中有什么意义?

时间:2013-12-06 05:50:50

标签: c gcc pkg-config

在构建dbus示例时,我发现我们需要在gcc中添加pkg-config。例如:

gcc `pkg-config --cflags --libs dbus-1` <file_name> -o <file_name.out>

pkg-config --cflags --libs dbus-1有什么意义?这是什么pkg-config?什么是额外的cflags?什么是--libs

2 个答案:

答案 0 :(得分:16)

gcc `pkg-config --cflags --libs dbus-1` <file_name> -o <file_name.out>

将运行pkg-config命令,并将其输出作为参数传递给gcc。

pkg-config的目的是使对库的链接更容易,因为不同的操作系统和发行版需要不同的编译标志(也称为CFLAGS),库包含路径和要链接的库。 pkg-config使用配置文件(由库定义)为编译器生成上述信息,并且使我们不必担心编译所发生的操作系统或分发。

--cflags表示pkg-config应该为列出的包提供编译标志。 --libs表示pkg-config应该为列出的包提供链接信息。

dbus-1是包的名称。

答案 1 :(得分:2)

gcc `pkg-config --cflags --libs dbus-1` <file_name> -o <file_name.out>

包括以下部分:

  1. 执行pkg-config --cflags --libs dbus-1注意``在中间执行命令。
  2. 使用标志1运行gcc并返回输入文件<file_name>输出目标文件。