Some general guidelines for the C++ compiler options are:
The– llib option links with library liblib.a (or liblib.so). It is always safer to put– llib after the source and object files to ensure the order in which libraries are searched.
In general, processing of the compiler options is from left to right (with the exception that– U options are processed after all– D options), allowing selective overriding of macro options (options that include other options). This rule does not apply to linker options.
The -features,–I -l, –L, -library, –pti, –R, -staticlib, -U, -verbose, and -xprefetch options accumulate, they do not override.
The -D option accumulates, However, multiple -D options for the same name override each other.
Source files, object files, and libraries are compiled and linked in the order in which they appear on the command line.