Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: Павелъ от Апрель 13, 2017, 20:21



Название: Почему нигде нет бинарника со статической линковкой?
Отправлено: Павелъ от Апрель 13, 2017, 20:21
Добрый день. Надоело, что на других машинах под вендой исполняемый файл требует dll. Попробовал вчера собрать среду с возможностью статической линковки, но не получилось.

Вот и возник вопрос. Почему везде предлагают собирать самому, неужели нельзя собрать такой установочник и устанавливать его без гемора, как обычный?


Название: Re: Почему нигде нет бинарника со статической линковкой?
Отправлено: kambala от Апрель 13, 2017, 22:45
https://www.npcglib.org/~stathis/blog/precompiled-qt4-qt5/


Название: Re: Почему нигде нет бинарника со статической линковкой?
Отправлено: Павелъ от Апрель 14, 2017, 11:10
https://www.npcglib.org/~stathis/blog/precompiled-qt4-qt5/

Здесь, как я понял, сборки с компилятором MSVC, с MinGW нету?


Название: Re: Почему нигде нет бинарника со статической линковкой?
Отправлено: kambala от Апрель 14, 2017, 18:32
с MinGW не попадались


Название: Re: Почему нигде нет бинарника со статической линковкой?
Отправлено: Павелъ от Апрель 14, 2017, 20:27
Ладно, попробую ещё раз собрать статическую версию. Если не получится, придётся одну из этих ставить. Но, у меня в этом компиляторе не все проекты компилились, которые компилились в MinGW.


Название: Re: Почему нигде нет бинарника со статической линковкой?
Отправлено: Павелъ от Апрель 15, 2017, 11:12
Я не понимаю, почему нигде нет собранного SDK с MinGW статического. Логично, что многим людям понадобится такая сборка. Почему нельзя тогда собрать, чтобы в одном QtCreator были как статические, так и динамические комплекты? Я как обычный пользователь этой среды хочу просто установить и пользоваться без заморочек с пересборкой среды.

Ну, да ладно.

Помогите тогда мне со сборкой. Облазил кучу сайтов, делаю по инструкциям. Появляется ошибка "configure.exe" не является приложением win32. Исходники были установлены с того же бинарника, что и сам creator. Проекты компилируются, то есть логично, что проблема не может быть связана с разрядностью ОС. В чём тогда проблема?


Название: Re: Почему нигде нет бинарника со статической линковкой?
Отправлено: Павелъ от Апрель 15, 2017, 21:07
Ладно. Поставим вопрос по-другому.

Никто не может мне статически скомпилить небольшой проект?

Мне его нужно продемонстрировать на той машине, где ктютешных dll не будет.


Название: Re: Почему нигде нет бинарника со статической линковкой?
Отправлено: kibsoft от Апрель 15, 2017, 23:34
Соберите exe и все dll в инсталлятор и установите на другом ПК. Зачем для этого нужна статическая сборка?


Название: Re: Почему нигде нет бинарника со статической линковкой?
Отправлено: PimenS от Апрель 15, 2017, 23:51
Я не понимаю, почему нигде нет собранного SDK с MinGW статического. Логично, что многим людям понадобится такая сборка. Почему нельзя тогда собрать, чтобы в одном QtCreator были как статические, так и динамические комплекты?

Сделайте доброе дело, создайте такой комплект. Многие люди вам СПАСИБО скажут.


Название: Re: Почему нигде нет бинарника со статической линковкой?
Отправлено: vic57 от Апрель 16, 2017, 11:34
Ладно. Поставим вопрос по-другому.

Никто не может мне статически скомпилить небольшой проект?

Мне его нужно продемонстрировать на той машине, где ктютешных dll не будет.
я помещал все необходимые dll в папку приложения и с флешки запускал на других компах


Название: Re: Почему нигде нет бинарника со статической линковкой?
Отправлено: Павелъ от Апрель 16, 2017, 12:40
Ладно. Поставим вопрос по-другому.

Никто не может мне статически скомпилить небольшой проект?

Мне его нужно продемонстрировать на той машине, где ктютешных dll не будет.
я помещал все необходимые dll в папку приложения и с флешки запускал на других компах

Я тоже помещал. На моём компе этот проект работал. Но, когда запустил на другом компе, он потребовал ещё какие-то dll.


Название: Re: Почему нигде нет бинарника со статической линковкой?
Отправлено: kambala от Апрель 16, 2017, 20:17
ну так надо просто один раз разобраться какие длл таскать с собой


Название: Re: Почему нигде нет бинарника со статической линковкой?
Отправлено: vic57 от Апрель 17, 2017, 09:48
http://doc.crossplatform.ru/qt/4.5.0/deployment-windows.html
не все библиотеки скопировал


Название: Re: Почему нигде нет бинарника со статической линковкой?
Отправлено: Павелъ от Апрель 17, 2017, 10:04
Может кто-нибудь мне объяснит почему при попытке собрать Qt статически выскакивает ошибка "qtbase/configure.exe не является приложением win32"?
Пытаюсь собрать на машинах с Windows XP - везде вылазит такая ошибка.

Делаю по инструкции https://habrahabr.ru/sandbox/95171/ . Ну, что за бред. Пробовал и по другим инструкциям делать - везде такая же хрень. Ну, не может же configure.exe быть 64 битным, если QtSdk 32 битная.

Ну, подскажите, плиз. Ну, реально неудобно с каждым проектом таскать с собой кучу dll.

Да, и командную строку запускал от администратора - не помогает.


Название: Re: Почему нигде нет бинарника со статической линковкой?
Отправлено: kambala от Апрель 17, 2017, 13:10
свежий Qt 5 уже не поддерживает ХР по-моему, бери версию постарее


Название: Re: Почему нигде нет бинарника со статической линковкой?
Отправлено: Пантер от Апрель 17, 2017, 13:22
Поддержку XP выпиливали еще в 4.6, ЕМНИП.


Название: Re: Почему нигде нет бинарника со статической линковкой?
Отправлено: Hellraiser от Апрель 17, 2017, 13:36
Не совсем так: 4-я ветка полностью поддерживает (http://doc.qt.io/qt-4.8/supported-platforms.html), 5.6 поддерживает частично (http://doc.qt.io/qt-5.6/supported-platforms.html), в 5.8 поддержка убрана (http://doc.qt.io/qt-5/supported-platforms.html).


Название: Re: Почему нигде нет бинарника со статической линковкой?
Отправлено: vic57 от Апрель 17, 2017, 20:07
Может кто-нибудь мне объяснит почему при попытке собрать Qt статически выскакивает ошибка "qtbase/configure.exe не является приложением win32"?
Пытаюсь собрать на машинах с Windows XP - везде вылазит такая ошибка.
а есть ли по этому пути configure? у мну C:\Qt\4.8.4\configure.exe


Название: Re: Почему нигде нет бинарника со статической линковкой?
Отправлено: Павелъ от Апрель 17, 2017, 20:42
Короче, на 7-ке со скрипом скомпилилась сборка. Настроил профили.

Правда, чтобы запуститься вне Qt Creator, моя прога потребовала dwmapi.dll. На XP моя прога не хочет запускаться, вываливается сообщение:

(http://s019.radikal.ru/i600/1704/37/d92c89e70b09.png) (http://radikal.ru)

На 7-ке - нормально.


Название: Re: Почему нигде нет бинарника со статической линковкой?
Отправлено: kambala от Апрель 17, 2017, 22:05
почему твоя программа пытается обратиться к msvcrt, если ты собирал ее с помощью mingw?


Название: Re: Почему нигде нет бинарника со статической линковкой?
Отправлено: Павелъ от Апрель 18, 2017, 11:35
Да, с помощью его самого. Но, эта ошибка появляется только в XP. на 7 нормально.


Название: Re: Почему нигде нет бинарника со статической линковкой?
Отправлено: mitrich от Апрель 19, 2017, 15:07
почему твоя программа пытается обратиться к msvcrt, если ты собирал ее с помощью mingw?
msvcrt.dll (без номера в названии файла) - стандартный виндовый CRT и именно он используется программами, собранными MinGW.


Название: Re: Почему нигде нет бинарника со статической линковкой?
Отправлено: Павелъ от Апрель 24, 2017, 20:08
Проблему решил. В этой теме решение: http://www.prog.org.ru/topic_31210_0.html.

На XP не запускается. Видимо из-за того, что Qt 5.8 не поддерживает Windows XP. Представьте себе, но на некоторых предприятиях до сих пор используют эту ОС.
Всем спасибо за помощь.