I am new to C++ and am learning C90 as a pre-introduction to the language. I noticed that when I include an external header (such as an OpenGL header), I also need to include the binary library file containing the exports.
Anything included which is part of the C standard library is automatically added to my project, but I am able to include sys/socket.h
without needing to explicitly define any extra library locations!
Are the sys/*.h
header files all included in the standard library on Unix by default or am I missing something?
Does the linker have to scan all libraries you include until it finds the right one with the correct definitions?