Saya yakin semua orang memperhatikan ketika mereka menggunakan program mereka melalui windeployqt.exe, program tersebut bergantung pada pustaka dinamis dan qt yang berbeda. Akibatnya, pemindaian di komputer lain menjadi tidak nyaman. Mengapa? Kita harus menyimpan exe'shnik itu sendiri di folder dengan perpustakaan yang diperlukan. Tentu saja, Anda dapat mengatasi masalah ini tanpa tautan statis. Setuju, itu merepotkan, dan setiap kali Anda perlu melakukan gerakan tubuh ekstra. Lebih mudah menjadi lelah sekali dan kemudian tidak melakukan gerakan yang tidak perlu. Kelebihan lain dari penautan statis adalah ukuran file. Dengan penautan dinamis, exe itu sendiri memiliki berat sekitar 1 MB hingga 7-8 MB, dan dengan lingkungan dapat dengan mudah mencapai 70 MB, bahkan jika proyeknya kecil. Dengan penautan statis, hanya ada exe, yang beratnya sekitar 2 kali lebih kecil dari lingkungan dengan penautan dinamis.
Untuk perakitan Anda perlu:
- Qt 5.xx dengan komponen yang diaktifkan (jika Qt telah diinstal, komponen yang diperlukan dapat diinstal menggunakan Qt Maintenance Tool):
- Qt - Qt 5.x - MinGW xxx 32 bit
- Qt - Qt 5.x - Sumber
- Qt - Alat - MinGW
- Perl (Strawberry Perl, misalnya). Saya menggunakan strawberry-perl-5.30.2.1-32bit.
Periksa apakah jalur ke file yang dapat dieksekusi Perl terdaftar di variabel lingkungan PATH. Anda dapat melewati titik ini, tetapi lebih baik untuk memeriksanya. - Python 3.8
Jalur instalasi Qt tidak penting, saya sudah menginstalnya di drive D. Pastikan Anda memiliki cukup memori yang tersedia. Anda membutuhkan setidaknya 30 GB ruang kosong.
Algoritma itu sendiri:
- Masuk ke direktori tempat folder Src (D:\Qt\5.xx\Src);
- Di sana, buat folder statis (D: \ Qt \ 5.x.x \ static);
- Src static. D:\Qt\5.x.x\static\Src. , Src;
- mingwXX_32 ( , , mingw73_32). D:\Qt\5.x.x\static\mingwXX_32;
- qmake.conf, D:\Qt\5..\static\Src\qtbase\mkspecs\win32-g++.
,load(qt_config)
:
QMAKE_LFLAGS += -static -static-libgcc QMAKE_CFLAGS_RELEASE -= O2 DEFINES += UNICODE QT_STATIC_BUILD
- qmake.conf;
- (! CMD! CMD! CMD!) MinGW. ( ) mingw.
MinGW Qt 5.x.x (MinGW x.x.x 32-bit)
- MinGW :
set LANG=en
set QT_INSTALL_PREFIX="C:\Qt\5.8-static\mingw53_32"
cd /d %QT_INSTALL_PREFIX%\..\Src
( )
configure.bat -static -debug-and-release -platform win32-g++ -prefix %QT_INSTALL_PREFIX% -qt-zlib -qt-pcre -qt-libpng -qt-libjpeg -qt-freetype -opengl desktop -opensource -confirm-license -make libs -nomake tools -nomake examples -nomake tests -qt-sqlite -no-ssl
-no-ssl — Qt SSL.
, :
-
mingw32-make -k -j4
, 4 , / , . -j4 4 .
-
mingw32-make -k install
D:\Qt\5.x.x\stati\mingwXX_32;
- Qt Creator:
- -> -> Qt
- -> D:\Qt\5..\static\mingw73_32\bin\qmake.exe ->
- ->
- : Qt static x32 ( )
- : Desktop
- :
- : D:\Qt\5..\static
- Kompiler:
a) untuk C: MinGW xxx 32-bit untuk C
b) untuk C ++: MinGW xxx 32-bit untuk C ++
- Profil Qt: Qt static x32 (nama profil yang Anda berikan saat menambahkan profil)
- Terapkan -> Oke
- Tetap hanya untuk membangun kembali proyek Anda dengan kit baru.
Informasi tambahan. Saya sudah:
- Qt 5.14.1
- MinGW 7.3.0 32-bit (mingw73_32)
- Python 3.8x32
- strawberry-perl-5.30.2.1-32bi
- Windows 10 Pro x64
Penerbangannya biasa saja.
Saya mengambil informasi dari sini: