Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

C/C++: how to figure out link flags?

Tags:

c++

c

linker

How do I reliably figure out link flags for libraries? I always end up googling/digging manuals.

Is there a way to list libraries available for linking, with names and/or descriptions?

edit: Linux system, GNU build chain, classics.

like image 463
slezica Avatar asked Oct 06 '22 01:10

slezica


1 Answers

On most Linux systems, you can use pkg-config to list out the compiler options for a given library. For example:

g++ example.cpp $(pkg-config --cflags --libs libpng)

becomes

g++ example.cpp -I/usr/include/libpng12 -lpng12

Or an example with slightly more complicated output:

$ pkg-config --cflags --libs gthread
-D_REENTRANT -I/usr/include/glib-1.2 -I/usr/lib64/glib/include  -lgthread -lpthread -lglib
like image 50
BoBTFish Avatar answered Oct 13 '22 11:10

BoBTFish