Если я бегу
gcc a.c -L /usr/lib -lexpat
и libexpat.a, и libexpat.so находятся в / usr lib, который используется компоновщиком?
По умолчанию будет выбрана общая библиотека (.so).
Если вы хотите изменить это поведение, можно использовать -static параметр gcc
-static
-статик В системах, которые поддерживают динамическое связывание, это предотвращает связывание с общими библиотеками. На других В системах этот параметр не действует.
-статик
В системах, которые поддерживают динамическое связывание, это предотвращает связывание с общими библиотеками. На других В системах этот параметр не действует.