Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.52/48: Рейтинг темы: голосов - 48, средняя оценка - 4.52
205 / 151 / 5
Регистрация: 14.03.2013
Сообщений: 784

Qt Static

23.09.2013, 14:00. Показов 10460. Ответов 55
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Прочитал все что тут было и вот как у меня получилось.
В прикрепленных картинках я скинул этапы (точнее их отдельные части).

Ярлык на cmd написан так:
C:\Windows\System32\cmd.exe /A /Q /K D:\Program_Files\Qt_5_MinGW_Static\5.0.1 \mingw47_32\bin\qtenv2.bat
Но выдает ошибку на configure.
Я конечно нашел этот exe и запустил с той директории с допиской расширения, но эффекта не было, так как второй операцией сборка закончилась двумя ошибками.

Что я делаю не так?
Миниатюры
Qt Static   Qt Static   Qt Static  

0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.09.2013, 14:00
Ответы с готовыми решениями:

static build
здраствуйте! сделал статическую сборку как по инструкции, при компиляции в qtcreator выдаёт ...

Qhash static
как инициализировать qhash static? QHash<QString,int> Resource::parameterTextual=NULL;

Создать static signal в QT
Как создать static signal в QT? Проблема такая: в классе есть статическая CALLBACK функци, которая извне запускается в отдельным потоке ....

55
205 / 151 / 5
Регистрация: 14.03.2013
Сообщений: 784
23.09.2013, 14:19  [ТС]
Сейчас соберется и я выложу ошибки.
Миниатюры
Qt Static   Qt Static  
0
205 / 151 / 5
Регистрация: 14.03.2013
Сообщений: 784
23.09.2013, 14:22  [ТС]
А вот и ошибки, подскажете пожайлуста из-за чего они и как с ними бороться?
Миниатюры
Qt Static  
0
205 / 151 / 5
Регистрация: 14.03.2013
Сообщений: 784
24.09.2013, 10:29  [ТС]
Спасибо за помощь, начал пробовать вариант с этой странички.
1
205 / 151 / 5
Регистрация: 14.03.2013
Сообщений: 784
24.09.2013, 12:31  [ТС]
Вот такая ошибка
Миниатюры
Qt Static  
0
205 / 151 / 5
Регистрация: 14.03.2013
Сообщений: 784
24.09.2013, 12:56  [ТС]
написал clean
делаю все заново.
0
27 / 20 / 1
Регистрация: 26.02.2013
Сообщений: 135
24.09.2013, 16:24
Во время статической сборки у меня были подобные ошибки. Причиной было, по всей видимости, отсутсвие каких-либо библиотек. Мне помогло следующее. При статической сборке я отключал все-все опции: т.е. no-cpu, no-demos, no-sqlite и т. д. (просматривал я их, вводя команду sh ./configure -h). После этого все собралось. Затем я все удалил и заново установил статические библиотеки, добавив несколько опций. И так я проделывал несколько раз постепенно увеличивая число опций и, проверяя какие не могут установиться, пока не установил то, что мне нужно. От некоторых библиотек пришлось отказаться (например от phonon, openGV, cpu). Также есть много опций, значения которых непонятны, например -no-exceptions.

И еще важный момент. При статической сборке (я все проделывал в ubunte) на одном компьютере у меня установились статические библиотеки, имеющие расширения *.so. На другом - имеющие расширение *.a (при этом при сборке никаких ошибок или предупреждений не возникало, исходники библиотек были одними и теми же, версии дистрибутива - одинаковыми, компьютеры - абсолютно разные - phenom2 и intel core i5). Отсюда следует вывод - установка статических библиотек напрямую зависит от конфигурации компьютера. По другому я объяснить это не могу. Вероятно, библиотеки с расширением *.a - это вовсе не библиотеки, а результат ошибки и неправильной сборки. Так что, если установите проверьте расширения библиотек. Правда у вас windows, там, возможно у них совсем другое расширение.
0
1 / 1 / 0
Регистрация: 24.09.2013
Сообщений: 29
25.09.2013, 04:32
Здравствуйте!
Я небольшой специалист по QT, но опыт программирования на С++ кое-какой имею. Возникла необходимость создать независимое от QT приложение (т.е. запускаемое на любой машине с установленным MySQL/MariaDB).

Есть одна проблема:
Собираю QT5.1.1 статически c openSSL, ICU и MariaDB (клон MySQL). Указанные пакеты по отдельности собраны и работают нормально, пути к заголовочным файлам и библиотекам минимальные. Пути к ним прописаны в батнике.

При конфигурации:
configure -prefix e:\qt\5.1.0-static -opensource -confirm-license -platform win32-g++ -release -static -qt-libpng -qt-libjpeg -qt-zlib -icu -opengl desktop -openssl -iconv -qt-sql-odbc -qt-sql-mysql -nomake tests -nomake examples

Процесс успешно (было несколько предупреждений по поводу макросов в ICU и nullptr, но не более того) доходит до сборки WebProcess (QTWebKit -> WebKit2), а при его линковке дает ошибки (см.файл) и заканчивается. Я использую Mingw-4.7.2 (взят с сайта qt.digia.com) и ICU (взят с официального сайта и скомпилирован статически), оба - в подверсии sjlj. Также установлены ActivePerl, ActivePython, Ruby, DXSDK, все пути к этим пакетам указываются в том же батнике.

Подскажите, может я что-то упустил...
Вложения
Тип файла: pdf linkerror.pdf (296.0 Кб, 8 просмотров)
0
205 / 151 / 5
Регистрация: 14.03.2013
Сообщений: 784
25.09.2013, 10:40  [ТС]
Вот итог последней попытки.
Миниатюры
Qt Static  
0
27 / 20 / 1
Регистрация: 26.02.2013
Сообщений: 135
25.09.2013, 12:34
Если я не ошибаюсь,, ошибка произошла при сборке примеров, поэтому, возможно, вам поможет сборка, где будет введена опция -nomake demos -nomake examples. А так, то, что ошибка произошла именно при сборке примера, это ни смертельно, главное, чтоб были установлены основные библиотеки
0
205 / 151 / 5
Регистрация: 14.03.2013
Сообщений: 784
25.09.2013, 14:08  [ТС]
Цитата Сообщение от red_KNOPOCHKA Посмотреть сообщение
Если я не ошибаюсь,, ошибка произошла при сборке примеров, поэтому, возможно, вам поможет сборка, где будет введена опция -nomake demos -nomake examples. А так, то, что ошибка произошла именно при сборке примера, это ни смертельно, главное, чтоб были установлены основные библиотеки
Идея в том что вроде если выпала Ошибка 2, то ничего не собралось вроде.
0
205 / 151 / 5
Регистрация: 14.03.2013
Сообщений: 784
25.09.2013, 15:11  [ТС]
Вот что получилось, пробовал просит dll-ки.
Миниатюры
Qt Static  
0
1 / 1 / 0
Регистрация: 24.09.2013
Сообщений: 29
25.09.2013, 19:26
К сожалению Ваш совет, уважаемые друзья мне не помог, как и конфигурирование с ключом -no-wekit. Однако простое удаление из исходников папок QtWebKit и QtWebKit-examples проблему решило. Сейчас буду пробовать получившийся урезанный дистрибутив
0
27 / 20 / 1
Регистрация: 26.02.2013
Сообщений: 135
26.09.2013, 06:20
Bmg113, вы правы. Но я имел ввиду другое. Думаю вам стоит вообще заново сконфигурировать и собрать статические библиотеки Qt с опциями, указанными выше (no demos и examples). Под тем, что ничего страшного, если они не установятся, я имел ввиду, что, если вы вообще от них откажитесь при конфигурировании путем введения соответст. опций, и у вас установятся (если, конечно, установятся) библиотеки без примеров. А так, конечно, при ошибке во время сборки примеров он автоматически полностью прекращает сборку.

Вопрос: из последнего, скинутого вами скриншота, следует, что у вас все устанвилось номально? Если так, то не могли бы вы выложить листинг опций, с которыми вы конфигурировали qt.
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
26.09.2013, 14:52
А что хоть примерное нужно указывать в
Bash
1
2
set LIB=
set INCLUDE=
0
205 / 151 / 5
Регистрация: 14.03.2013
Сообщений: 784
26.09.2013, 15:05  [ТС]
Цитата Сообщение от red_KNOPOCHKA Посмотреть сообщение
Вопрос: из последнего, скинутого вами скриншота, следует, что у вас все устанвилось номально? Если так, то не могли бы вы выложить листинг опций, с которыми вы конфигурировали qt.
Вообщем довавил в конф ваши добавочные и собралось.

Кликните здесь для просмотра всего текста

Инструкция
Но добавил в конфиг в конце -nomake demos -nomake examples

Но dll все равно просит.

Добавлено через 19 секунд
Цитата Сообщение от Avazart Посмотреть сообщение
А что хоть примерное нужно указывать в
Код Bash
1
2
set LIB=
set INCLUDE=
Я спрашивал на сайте выше, но мне ответили ничего не надо.
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
27.09.2013, 12:33
Цитата Сообщение от Bmg113 Посмотреть сообщение
Я спрашивал на сайте выше, но мне ответили ничего не надо.
А смысл тогда вообще наличия этих строк ?

Добавлено через 2 минуты
Цитата Сообщение от Bmg113 Посмотреть сообщение
Но добавил в конфиг в конце -nomake demos -nomake examples
Может их нужно указывать в двух местах :
Заменяем на QMAKE_LFLAGS = -static -static-libgcc
configure.exe -debug-and-release -opensource -c++11 -static -opengl
Добавлено через 5 часов 51 минуту
Цитата Сообщение от red_KNOPOCHKA Посмотреть сообщение
Думаю вам стоит вообще заново сконфигурировать и собрать статические библиотеки Qt с опциями, указанными выше (no demos и examples).
Возникает вопрос как отменить то что сделалось первым вызовом configure.exe что бы переконфигурировать заного ?
Как я понял при последующих попытках вызова configure.exe происходит лишь только тест предыдущей конфигурации.

Добавлено через 2 часа 43 минуты
В общем попробовал и Я собрать по http://sergey-starkov.blogspot... 1-dll.html

В конце заметил ошибку :
collect2.exe: error: ld returned 1 exit status
Makefile.Debug:79: recipe for target 'debug\mapdemo.exe' failed
mingw32-make.exe[4]: *** [debug\mapdemo.exe] Error 1
mingw32-make.exe[4]: Leaving directory 'C:/Qt/Qt5.1.0/5.1.0/Src/qtbase/examples/qtconcurrent/map'
Makefile:34: recipe for target 'debug' failed
mingw32-make.exe[3]: *** [debug] Error 2
mingw32-make.exe[3]: Leaving directory 'C:/Qt/Qt5.1.0/5.1.0/Src/qtbase/examples/qtconcurrent/map'
Makefile:67: recipe for target 'sub-map-make_first' failed
mingw32-make.exe[2]: *** [sub-map-make_first] Error 2
mingw32-make.exe[2]: Leaving directory 'C:/Qt/Qt5.1.0/5.1.0/Src/qtbase/examples/qtconcurrent'
Makefile:253: recipe for target 'sub-qtconcurrent-make_first' failed
mingw32-make.exe[1]: *** [sub-qtconcurrent-make_first] Error 2
mingw32-make.exe[1]: Leaving directory 'C:/Qt/Qt5.1.0/5.1.0/Src/qtbase/examples'
makefile:65: recipe for target 'sub-examples-make_first' failed
mingw32-make.exe: *** [sub-examples-make_first] Error 2


Ошибка полагаю в примере.
И по логике вещей, если не собрался пример значит и библиотеки тоже не правильно собрались.
Кроме попытка создать и запустить простой проект тоже не увенчалась успехом:
Программа неожиданно завершилась.
C:\Users\fujitsu\Documents\QtCreator\tes t_static\build-test_static-MinGW_static-Debug\debug\test_static завершился с кодом -1073741511
Т.е программа по прежнему требует dll.

Добавлено через 12 часов 35 минут
Цитата Сообщение от red_KNOPOCHKA Посмотреть сообщение
Если я не ошибаюсь,, ошибка произошла при сборке примеров, поэтому, возможно, вам поможет сборка, где будет введена опция -nomake demos -nomake examples.
При добавлении в конфиг

C++
1
QMAKE_LFLAGS = -static -static-libgcc -nomake demos -nomake examples
При вызове configure.exe у меня выдает :
Code
1
2
3
4
5
6
7
8
[....]
registry.o -static -s -lole32 -luuid -ladvapi32 -lkernel32
 
 or directory
ile or directory
d line option '-nomake'
d line option '-nomake'
ror 1
Добавлено через 8 минут
C webkit таже история
Code
1
2
3
4
5
6
Creating qmake...
mingw32-make: Nothing to be done for 'first'.
Running configuration tests...
g++: error: unrecognized command line option '-no-webkit'
mingw32-make: *** [arch.exe] Error 1
Could not find output file: No such file or directory
0
205 / 151 / 5
Регистрация: 14.03.2013
Сообщений: 784
28.09.2013, 08:40  [ТС]
Давай те искать в месте, если что то новое найду напишу здесь.
0
1 / 1 / 0
Регистрация: 24.09.2013
Сообщений: 29
28.09.2013, 11:12
Уважаемые коллеги!
Урезанный дистрибутив пошел и вобщем-то пошел неплохо. Дело в том, что configure у меня выдает ошибку на ключ -nomake demos. Примеры я и так не собирал.
WebProcess, насколько я понял, это не демка и не пример, это, судя по всему утилита для QtWebKit. При этом процесс сборки дистрибутива с WebProcess и без него отличается при сборке QtTools. Без WebKit'а QtTools у меня собрался, но стал работать кривовато. Хотя при моей сборке, а целью была статическая сборка с драйверами для MySQL/MariaDB, все получилось с одним "но": мне пришлось подкладывать библиотеку MariaDB (libmysql.lib, размером около 3,4 Мб) в папку с собранной программой. Видимо это реакция Qt насторонниепограмы продукты
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
28.09.2013, 11:57
Блин при второй попытке вообще Qt разросся до 16 ГБ, и стал выдавать вообще непонятные ошибке

Нашел такое http://qtlinux.narod.ru/make_qt5.htm вобщем теперь вообще в шоке сколько всего нужно понаставить и понастроить, а главное почему такие отличия в инструкциях.
Непонятно теперь что не особо важно а что критично...
К примеру нужен ли Ruby ?
Обязательно ли потом в новом проекте дописывать CONFIG+= -static.
Я уже не говорю про ICU и Angel...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.09.2013, 11:57
Помогаю со студенческими работами здесь

MinGW Static ПРЕДУПРЕЖДЕНИЕ!
Сделал static по руководству Собственно проблема на скрине. Интересует: 1. Как исправить? 2. Если не исправить, то чем это грозит?

Static init QStringList
можно ли как проинициализировать контейнер статически static const QStringList Strings = {...}; ну или static const QStringList...

Qt 5.5 Static подключить СУБД
Всем привет! Столкнулся с такой проблемой - в примерах Qt есть пример "sqlbrowser". В динамической сборке в списке есть 4 драйвера, из них...

Перегруженные функции и static переменные
Для моей программки было необходимо написать что-то подобное: QString ExtractingRoots(AnyType root, AnyType sign, dB expression) ...

Qt 5.1.1 Static (запуск без dll)
Доброй ночи читатель и юзер Qt-фреймвёрка. Я не знал кому конкретно написать и напишу сюда. Дело в том что я много мучился искал в интернет...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru