Начну с того, какую ссыль имел в виду:
http://www.cyberforum.ru/qt/thread234568.htmlДалее,определённые требования: начал писать Клиент-серверную программу, по этому использование OpenSSL - обязательно, используемая система,(на которую ставлю QtSDK)Уиндоус-ХР, так-же необходимая и не подлежит обсуждениям, в крайнем случае (если у кого-то есть положительный результат) можно рассмотреть вариант с системой Wind-7.
Ещё одно дополнение. Устанавливаю вариант QtSDK-offline. Компилятор испытывается v4.8.1 (а то, какой прок от новинки, то).
Переработал все инструкции, с учётом всех нюансов. Привожу их ниже, Версия QtSDK-v1.1.4 по этой инструкции компилируется без единой ошибки.
Вот инструкция:
Перед началом, нужно проверить правильность системной даты.
Почему то, при не верной дате установка "падает", хотя нет зависимости (включен или выключен интернет).
______________________________________________________________________________________________________________
Для удобства можно устанавливать еще один Qt, в другую папку, называем так, чтобы
не путаться (например static в название папки). Т.е. у вас получится один Qt статический, а другой нет.
Если вы уже компилировали Qt ранее, то перед началом процесса перекомпиляции необходимо удалить все объектные и другие
промежуточные файлы предыдущей сборки, выполнив в корневой папке библиотеки Qt команду:
mingw32-make.exe confclean
______________________________________________________________________________________________________________
Далее необходимо установить -> vcredist_x86.exe
В противном случае, почти всегда QtSDK выдаст ошибку.
______________________________________________________________________________________________________________
Устанавливаем QtSDK из папки Qt_SDK_Win_offline_v1_1_4_en.exe но не забываем указывать, что устанавливаем в ручную. В списке установки обязательной галкой является - ИСХОДНИКИ
Если вы по ошибке это пропустили, то нужно
выполнить действия, описанные ниже.
_______________________________________________________________________________________________________________
Запустить "Maintain QtSDK" - находится в меню Пуск-Программы-QtSDK и выбери установить исходники.
Т.е. запустится менеджер пакетов, в дереве пакетов найти:
+QtSDK
|
| - Miscellanius
|
| -Qt Sources
|
| - Qt 4.7.4 Sources (поставь галочку)
После установки появятся исходники в папке QtSDK.
______________________________________________________________________________________________________________
Заменить их на исходники из архива.
Распаковать в папку: QTDIR\QtSources\4.7.4
______________________________________________________________________________________________________________
Для поддержки шифрования сети (рекомендуется что-бы вас не перехватывали на любом компе),
устанавливаем Win32OpenSSL-1_0_0d.exe
При его установке есть один ньюанс, если нажимать кнопку "поставить в Виндовс", то в его dll-ки не нужно ставить в
перед компиляцией инсталятора, но такой экзешник не будет работать в Линуксах. И наоборот.
Если жать кнопку "в OpenSSL", то работать будет везде, но в инталятор нужно скопировать файлы
ssleay32.dll
libeay32.dll
libssl32.dll
______________________________________________________________________________________________________________
Далее, для пользователей компилятора MinGW:
редактируем файл (путь для старого QtCreator)<QTDIR>\mkspecs\win32-g++\qmake.conf,
путь для QtSDK: Q:\QtSDK\QtSources\4.7.4\mkspecs\win32-g++\qmake.conf
где <QTDIR> - каталог установки Qt. привожу изменения для разных версий Qt:
4.6 и новее:
Добавляем в
QMAKE_LFLAGS = -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc
строку -static -static-libgcc, получаем:
QMAKE_LFLAGS = -static -static-libgcc -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc
и сохранить файл
___________________________________________________________________________________________________________________
Из папки c OpenSSL \lib нужно скопировать файлы: libeay32.lib ssleay32.lib
в папку:
Q:\QtSDK\QtSources\4.7.4\lib
3. Из папки с OpenSSL \lib\MinGW скопировать все файлы в папку:
Q:\QtSDK\Desktop\Qt\4.7.4\mingw\lib
4. Из папки c OPenSSL \include скопировать папку openssl со всем содержимым в папку:
Q:\QtSDK\QtSources\4.7.4\include
т.е. в папку Q:\QtSDK\QtSources\4.7.4\include скопировал целую папку openssl вместе с названием
___________________________________________________________________________________________________________________
В консоли набрать:
cd C:\QtSDK\QtSources\4.7.4
Enter
configure -static -release -no-exceptions -openssl-linked -nomake demos -nomake examples
Ответить на вопросы по лицензии (лицензия OpenSource)
потом когда сконфигурится:
mingw32-make sub-src
все это вводится из консоли Qt - ярлык которой после установки QtSDK будет в меню Пуск-Программы-QtSDK-Desktop.
___________________________________________________________________________________________________________________
Если выше описанный пункт - компиляция "не идёт", это будет сразу заметно по времени (компиляция будет очень короткая
5-10 минут), то этот баг очень "крутой", т.к. возможно вы нарвались на один из многочисленных клонов ОС Виндовс и
скорее всего либо плохих, либо у вас ОС Zver , есть такая, распостранённая, но почему-то Qt на неё не устанавливается.
Хотя однажды,в ключе -nomake demos или -nomake examples в середине тире ставил.
Так что, будьте внимательны.
___________________________________________________________________________________________________________________
Запустить QtCreator, зайти в меню:
«Инструменты» -> «Параметры» и в левом меню выбрать пункт Qt4
Кнопкой «Добавить» - добавить созданную статическую сборку, т. е. указать в открывшемся окне файл:
Q:\QtSDK\QtSources\4.7.4\bin\qmake.exe и дать ей свое имя (к примеру «Qt 4.7.4 for Desktop - MinGW 4.4 (Static)»)
Раскрыть область «Подробнее» и нажать кнопку «Собрать все».
Открыть проект, зайти в его свойства (слева меню «Проекты») и добавить новую конфигурацию сборки с новым именем
Выбрать тип сборки Релиз (из Релиз или Дебаг)
В свойствах выставить "Релиз", указать путь, куда будет сохраняться ехе-шник
(или выбрать "Теневая сборка", тогда будут созданы 2 подпапки в папке проекта, релизная версия будет в "Release")
Меню "Сборка" => "Пересобрать проект &projectname&"
____________________________________________________________________________________________________________________
В заключение нужно заметить, что если запускаете "не статический бинарник" в ОС где установлена Qt, но
не из самой среды Qt, то нужно отредактировать пути переменной Path, как описано ниже (но всё равно, этот бинарник
должен находится на коротком пути и в нём не должно быть кирилицы):
Открыть редактирование переменной Path таким образом: правой по мой компьютер->Свойства->Дополнительно->
Переменные среды->Двойной клик по Path
Отредактировать пути к переменной (Для данной версии QtSDK)
Закрыть все окна через ОК.
Перезагрузица, что бы система подхватила параметры!
_____________________________________________________________________________________________________________________
Сборка инсталяторов:
1. Полученные ехе-шники скопировать в соответсвующие папки инсталяторов
2. В этих же папках должны быть файлы:
2.1. Для клиента:
libeay32.dll
libssl32.dll
ssleay32.dll
vcredist_x86.exe
2.2. Для сервера:
libeay32.dll
libssl32.dll
ssleay32.dll
vcredist_x86.exe
mycert.pem
mykey.key
TemplateDatabase.txt (опционно, если не будет, тогда в исходниках инсталятора сервера надо убрать строку, указывающуюю на этот файл)
3. Открыть файл *.iss
4. Скомпилировать проект инсталятора (меню Build => Compile)
5. Появится подпапка Output, в ней будет готовый файл инсталятора.
При начале компиляции QtSDK-v1.2.1 (после ответов на вопросы лицензии) в окне консоли,возникает следующая ошибка:
WARNING:
Using static linking will disable the use of plugins.
Make sure you compile ALL needed modules into the library.
NOTE:
When linking against OpenSSL,you can override the default
library names through OPENSSL_LIBS.
For example:
configure -openssl-linked OPENSSL_LIBS="-lssleay32 -llibeay32"
Perl not found in environment - cannot run syncqt.
Вводил и предлагаемые коды - не помогает.
Если кто-то компилировал данную новую версию(v1.2.1 с компилятором v4.8.1), с необходимыми либами - очень прошу, подробную инструкцию, в студию.