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. 返回和输入文件<file_name>
输出目标文件。
【讨论】:
以上是关于gcc中pkg-config的意义是啥?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 pkg-config 中使用 C++ Boost 库?