Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
486 views
in Technique[技术] by (71.8m points)

c - what is the significance of pkg-config in gcc?

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?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
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.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...