gcc linker finding both .so and .a in the library path which is chosen?
If I run
gcc a.c -L /usr/lib -lexpat
and both libexpat.a and libexpat.so are in /usr lib which one is u开发者_如何学Gosed by the linker?
By default the shared library (.so) will be chosen.
If you want to change this behavior, -static
gcc option may be used
-static
On systems that support dynamic linking, this prevents linking with the shared libraries. On other systems, this option has no effect.
精彩评论