Я публикую это как ответ, потому что это слишком долго для комментария ...
Я установил qt с нуля.Я сделал это, начиная с репозитория qt git hub.Закончив, я добавил его в набор для своего qtcreator и пересобрал несколько старых проектов с графическим интерфейсом, которые у меня были, с помощью кнопок.Затем я взял exe-файлы (они были около 500 МБ, потому что я использовал отладочную конфигурацию) и запустил их на ПК, который никогда не видел Qt (портативный ноутбук), и две протестированные мной программы отлично работали с нажатиями кнопок и без сбоев.
Итак, вот список инструкций, которые я использовал (для windows 10), вы можете попробовать это с самого начала, чтобы посмотреть, поможет ли это:
1.Приготовление
В произвольном порядке:
- установить клубничный perl (требуется при компиляции).Обратите внимание, что нормальный Perl не очень хорошо работает.
- Получить источник qt:
git clone https://github.com/qt/qt5.git qt5
git checkout 5.12.1
(конкретная сборкавместо 5.12 последней версии) git submodule update --init --recursive
git submodule foreach --recursive "git clean -dfx" && git clean -dfx
(убедитесь, что репо чистое)
- Загрузите и установите mingw64 (32-разрядную версию) из: https://sourceforge.net/projects/mingw-w64/. Я использовал параметры:
- версия 7.3.0
- Арка i686
- Потоки posix
- Исключение карлик
- Build-rev 0
- Длинные пути NTFS для Windows 10
- Установить Python (требуется при установке make):
ПРИМЕЧАНИЕ: в папке mingw должен быть файл mingw-xx.bat, чтобы открыть среду приглашения cmd для gcc.Запустите это для всех приглашений cmd для выполнения следующих действий:
ПРИМЕЧАНИЕ: убедитесь, что вы отредактировали пути так, чтобы клубничный perl ... / bin был перед любым другим perl.Настройка должна выглядеть следующим образом:
set PATH=D:\install\StrawberryPerl\perl\bin;%PATH%
set PATH=D:\install\mingw-w64\i686-7.3.0-posix-dwarf\mingw32\bin;%PATH%
set PATH=D:\install\Qt\qt5\qtbase\bin;%PATH%
set PATH=D:\install\Qt\qt5\gnuwin32\bin;%PATH%
Где D:\install\Qt\qt5
- где находится мое gt-репо qt5.
2.Конфигурация
2.1.Static Config
- Создайте папку на том же уровне, что и
../qt5/
репо с именем ../qt5-static-build/
(например) и перейдите в нее, затем выполните команду:
- ..\qt5\configure -debug -opensource -static -static-runtime -skip webengine -nomake examples -nomake tests -nomake tools -accessibility -no-sql-sqlite -no-opengl -platform win32-g++ -qt-zlib -qt-libpng -qt-libjpeg -confirm-license -prefix "C:\install\Qt\5.12.1-static"
2.2.Shared Lib Config
- Создайте папку на том же уровне, что и
../qt5/
репо с именем ../qt5-build/
(например) и перейдите в нее, затем выполните команду:
..\qt5\configure -debug -opensource -skip webengine -nomake examples -nomake tests -nomake tools -accessibility -no-sql-sqlite -no-opengl -platform win32-g++ -qt-zlib -qt-libpng -qt-libjpeg -confirm-license -prefix "C:\install\Qt\5.12.1-sharedlib"
3.Компиляция и установка
В любом случае, вы настроили qt (статическую или нет), эта часть одна и та же, в основном выполните:
mingw32-make -j8
mingw32-make install -j8
Примечание: вы можете использовать любую параллельномер, который вы хотите (-j<num-jobs>
).Каждый этап занимает некоторое время в зависимости от вашего процессора.
Как только вы закончите, путь установки, заданный в вашей строке конфигурации (например, C:\install\Qt\5.12.1-static
), будет содержать вашу установку qt.Затем вы можете добавить это в qtcreator как новую версию qt (если вы ее так строите).
Приложение - выпустить статическую конфигурацию
Вы можете захотеть следующую конфигурацию, если вы хотите выпуститьсборки и т. д. (но я еще не проверял это):
.. \ qt5 \ настроить со следующими параметрами:
-release -optimize-size -opengl desktop -no-pch -platform win32-g++ -opensource -static -static-runtime -skip webengine -nomake examples -nomake tests -nomake tools -accessibility -no-sql-sqlite -no-opengl -platform win32-g++ -qt-zlib -qt-libpng -qt-libjpeg -confirm-license -prefix "C:\install\Qt\5.12.1-static"
, где я добавил:
-release
- вместо отладки -optimize-size
- сделать наименьший размер -opengl desktop
- opengl, если он у вас должен быть -no-pch
- нет предварительно скомпилированных заголовков, не уверен, что вам это нужно, но ... -platform win32-g++
- Опять же, это может помочь, если у вас есть проблемы со сборкой, но, вероятно, вам это не нужно.