gcc中pkg-config的意义是啥?

Posted

技术标签:

【中文标题】gcc中pkg-config的意义是啥?【英文标题】:what is the significance of pkg-config in gcc?gcc中pkg-config的意义是什么? 【发布时间】:2013-12-23 09:28:03 【问题描述】:

在构建 dbus-example 时,我发现我们需要在 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这里是什么?

【问题讨论】:

尝试执行命令pkg-config --cflags --libs dbus-1。也许这可以帮助你回答你的问题! 【参考方案1】:
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 是包的名称。

【讨论】:

【参考方案2】:
gcc `pkg-config --cflags --libs dbus-1` <file_name> -o <file_name.out>

包括以下部分:

    执行pkg-config --cflags --libs dbus-1 note ``在两者之间运行命令。 使用标志运行gcc 1. 返回和输入文件&lt;file_name&gt; 输出目标文件。

【讨论】:

以上是关于gcc中pkg-config的意义是啥?的主要内容,如果未能解决你的问题,请参考以下文章

GCC 中 -x 标志的输入和输出“语言”是啥意思?

如何在 pkg-config 中使用 C++ Boost 库?

pkg-config 用法

pkg-config找不到openssl.pc

如何使用以下make和pkg-config使clion工作?

从 CMake / PkgConfig 为 pkg-config 提供选项 --define-variable