Принимая статические libfoo.a
и динамические libbar.so
, вы можете использовать
g++ -o prog main.o other.o -Wl,-Bstatic -lfoo -Wl,-Bdynamic -lbar
Вы должны избегать вызова функций в статической библиотеке из динамической; это было бы ужасно.
намек
Опции -Wl
для g++
используются для передачи аргументов компоновщику ld
, вызванному g++
.
Вы можете использовать g++ -v
, чтобы понять, как g++
вызывает ld
, и вы также можете использовать g++ -v -Wl,--verbose
, чтобы попросить ld
быть многословным.