Russian Qt Forum
Сентябрь 30, 2024, 08:19 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Исходники для QtSDK v1.2.1  (Прочитано 6592 раз)
wint1000
Гость
« : Апрель 17, 2012, 19:01 »

Задумал сделать статическую сборку для QtSDK v1.2.1 (сижу на SDK v1.1.4). Подскажите, кто знает, где лежат исходники для этой (новой) QtSDK. Если можно, то и разные присутствующие там нюансы, при сборке. Сам-то имею подробную инструкцию по сборке статически QtSDK для версии v1.1.4
Заранее благодарю.
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4744



Просмотр профиля WWW
« Ответ #1 : Апрель 17, 2012, 21:00 »

запустить установщик/maintenance сдк и выбрать (отметить галочкой) исходники желаемой версии Qt, после загрузки собирать из этих исходников.
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
wint1000
Гость
« Ответ #2 : Апрель 17, 2012, 21:16 »

Я в курсе, это самое первое, что ручки хотят сделать. Беда в том, что фирменные исходники, и те, что были в v1.1.4 и в v1.2.1 - не собираются (сразу, при начале линковке ошибка, сейчас не помню её смысл). Это было описано где-то на ВИКИ.  Я, из того форума взял эту инструкцию. В общем подменяеш исходники в папке QtSources на другие исходники, после этого всё линкуется и компилится. Т.е. это не обычное Qt, там я в курсе, что больше ничего не нужно (исходники не нужно подменять). Но переход на SDK вызвала потребность - он может значительно больше вещей, чем простой Qt. Вот от того-то его и приходится юзать. Короче, как я понял, Вы с этой темой пока не столкнулись вплотную. Вопрос остаётся открытый.
Записан
wint1000
Гость
« Ответ #3 : Апрель 18, 2012, 21:22 »

Ясно. Тема не для сего раздела!
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4744



Просмотр профиля WWW
« Ответ #4 : Апрель 18, 2012, 21:46 »

ошибку и ссылку на инструкцию "того форума" ты выложить не хочешь, попробовать скачать "чистые" исходники с фтп и собрать их тоже. а разница в чем - в наличии QtMobility в сдк?
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #5 : Апрель 18, 2012, 22:59 »

Я в курсе, это самое первое, что ручки хотят сделать. Беда в том, что фирменные исходники, и те, что были в v1.1.4 и в v1.2.1 - не собираются (сразу, при начале линковке ошибка, сейчас не помню её смысл).

Специально попробовал исходники из последнего online SDK - всё собралось, компилятор mingw.
Записан
wint1000
Гость
« Ответ #6 : Апрель 19, 2012, 16:46 »

Начну с того, какую ссыль имел в виду:
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), с необходимыми либами - очень прошу, подробную инструкцию, в студию.
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #7 : Апрель 19, 2012, 17:19 »

Цитировать
Perl not found in environment - cannot run syncqt.

Установи Active Perl, он сам пропишется в PATH. Если тебе OpenSSL не нужен, то его можно и не вкомпилировать, это будет гораздо проще.
« Последнее редактирование: Апрель 19, 2012, 17:49 от Alex Custov » Записан
wint1000
Гость
« Ответ #8 : Апрель 19, 2012, 17:41 »

На это могу ответить, что посоветуюсь с программистами, по этому поводу.
« Последнее редактирование: Апрель 19, 2012, 17:43 от wint1000 » Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4744



Просмотр профиля WWW
« Ответ #9 : Апрель 19, 2012, 18:56 »

Цитировать
Perl not found in environment
что тут советоваться-то? Улыбающийся если перл на машине есть, то добавь путь к нему в PATH, если нет - установи.
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
wint1000
Гость
« Ответ #10 : Апрель 21, 2012, 11:56 »

Ну.....это не ответ. Конкретные действия "по полочкам" интересуют. А так мы тему будем неделями юзать. Например, по мною, выше описанной инструкции можно скомпить с нуля, за 1.5 часа. А от такого "иди, бери и ставь непонятно что и непонятно какую версию........." этого в интернете предостаточно. В общем, прошу ответа от человека, который сию сборку делал у себя на ПК, и с подробными (пошаговыми инструкциями). А так, никак, большая просьба вообще ни писать. Так я могу и на фриланс обратиться, люди пусть за деньги коды перебирают. И на последок. Компиляция (А не запуск бинарников, требующих библиотек) НЕ ТРЕБУЕТ пропатчивания путей! Это скорее дело ясное, что дело тёмное. Тема есть открытая.
Записан
V1KT0P
Гость
« Ответ #11 : Апрель 21, 2012, 13:17 »

Ну.....это не ответ. Конкретные действия "по полочкам" интересуют. А так мы тему будем неделями юзать. Например, по мною, выше описанной инструкции можно скомпить с нуля, за 1.5 часа. А от такого "иди, бери и ставь непонятно что и непонятно какую версию........." этого в интернете предостаточно. В общем, прошу ответа от человека, который сию сборку делал у себя на ПК, и с подробными (пошаговыми инструкциями). А так, никак, большая просьба вообще ни писать. Так я могу и на фриланс обратиться, люди пусть за деньги коды перебирают. И на последок. Компиляция (А не запуск бинарников, требующих библиотек) НЕ ТРЕБУЕТ пропатчивания путей! Это скорее дело ясное, что дело тёмное. Тема есть открытая.
Просто для этого нужна чистая винда. Ибо у меня например уже давно и Active Perl стоит и OpenSSL.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.057 секунд. Запросов: 23.