В Qt я пока новичок.
1. Подскажите, в чем разница в статической и динамической сборки библиотек. Грубо говоря есть у меня некоторая dll. Путем несложных махинаций я ее превращая в файл с расширением .a Добавляю в проект как LIBS+=имя библиотеки.
Это какая сборка?
2. В чем разница между статическим и динамическим подключением библиотек. И как осуществляется одно и другое?
Qt здесь ни при чем. Насколько я знаю (опыт в Линукс 1 месяц) .а - статическая библиотека, .so - динамическая. В общем случае (для любой платформы)
- статическая вливается в исполняемый файл, результат тот же как если все ф-ции библиотеки написаны в программе
- динамическая вызывает функции других модулей. Исполняемый файл меньше но не запустится если нужные модули не найдутся
Динамические библиотеки могут быть замаскированы под статические (вероятно это результат упоминаемых Вами махинаций). Например в том же Вындоуз (MS 2009) я подключаю к проекту
- kernel32.lib
- mycalc.lib
В обоих есть ф-ции которые программа вызывает. Но в mycalc.lib - это сами ф-ции (статически) а в kernel32.lib - это вызовы нужных ф-ций из модуля kernel (динамчески). Никто не мешает быть статической либе просто "оберткой" для динамческой.
Ну и все это конечно как я себе это представляю и как достаточно для моих задач. А вообще в этом вопросе не силен и хотелось бы услышать мнения знатоков