Статика - сборка из исходников

Статическая сборка - static. Что это означает?

Во-первых это включение всех ваших и сторонних библиотек непосредственно в код вашей программы , то есть уход от зависимостей к внешним непонятным *.dll и т.д.

1. При этом вы собираете свою программу с подключением на этапе сборки файлов статических библиотек *.lib [msvs] (с заголовками *.h) сторонних разработчиков , причем открытого кода которых у вас может и не быть.

2. Далее вы можете собирать свою программу непосредственно из исходников своих, чужих и т.д. , то есть напрямую из файлов *.c, *.h . Это самый профессиональный путь, ибо вы отвечаете за каждую букву вашего кода и искать ошибки вы можете теперь только у себя.

3. Есть и еще третий как-бы вариант , когда вроде сборка идет тоже целиком из исходников, но частями. То есть например openSSL собираем по руководству из иcходников через компилятор/линковщик MSVS2010 в статические библиотеки *.lib (с *.h).

Потом собираем из исходников Qt ( например 4.8.1 ) тоже статически из исходников , но без поддержки openSSL, тем же компилятором линковщиком (msvc2010 например).

И наконец в проекте вашей программы подключаем библиотеки openSSL, подключаем нужные библиотеки Qt типа QtNetwork.lib , QtCore.lib и т.д. (собранные тем же тулчейном msvc2010 например) и получаем полностью собранную из исходников вашу программу. Важно наверно , чтобы компилятор/линковщик был один.

Заметьте, что в отличие от динамической сборки, в результате статической сборки Qt библиотеки будут без номера версии; например, вместо QtCore4.lib будет QtCore.lib.