Вы можете добавить .a файл в команду связывания:
gcc yourfiles /path/to/library/libLIBRARY.a
Но речь идет не о драйвере gcc, а о компоновщике ld
, так как такие параметры, как -Wl,anything
.
Когда вы сообщаете gcc или ld "-Ldir -lLIBRARY", компоновщик проверяет как статическую, так и динамическую версии библиотеки (вы можете увидеть процесс с -Wl,--verbose
).Для изменения порядка проверенных типов библиотек вы можете использовать -Wl,-Bstatic
и -Wl,-Bdynamic
.Вот справочная страница GNU LD: http://linux.die.net/man/1/ld
Чтобы динамически связать вашу программу с lib1, lib3 и статически lib2, используйте такой вызов gcc:
gcc program.o -llib1 -Wl,-Bstatic -llib2 -Wl,-Bdynamic -llib3
при условии, что по умолчанию установлено значениеld должен использовать динамические библиотеки (это в Linux).