what is the significance of pkg-config in gcc?
c, gcc, pkg-config
Solution
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.
Problem
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 `--libs`here?