what is the significance of pkg-config in gcc?

99封情书 提交于 2019-11-29 06:26:22

问题


While building a dbus-example, I found that we need to add a pkg-config in gcc. For example:

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

What is the significance of pkg-config --cflags --libs dbus-1? what is pkg-config here? what is cflags extra here? what is --libshere?


回答1:


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

will run the pkg-config command, and pass its output as parameters to gcc.

The purpose of pkg-config is to make linking against libraries much easier, as different operating systems and distributions require different compilation flags (aka CFLAGS), library inclusion paths and libraries to link to. pkg-config uses configuration files (defined by the libraries) to generate the above information for compilers, and allows us to not worry about what operating system or distribution the compilation takes place on.

--cflags means the pkg-config should give the compilation flags for the listed packages. --libs means the pkg-config should give the linking information for the listed packages.

and dbus-1 is the name of the package.




回答2:


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

comprises these parts:

  1. executing the pkg-config --cflags --libs dbus-1 note `` run the command in between.
  2. run gcc with the flags 1. returns and an input file <file_name> output object file .


来源:https://stackoverflow.com/questions/20416956/what-is-the-significance-of-pkg-config-in-gcc

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!