Ben Kenobi
Dekan
- Katılım
- 6 Kasım 2011
- Mesajlar
- 7,336
- Reaksiyon puanı
- 3,155
- Puanları
- 113
Windows'ta Qt'yi kaynak kodundan derleyebilmeyi sağlayan, kendim yazdığım cmd kodlarını paylaşıyorum.
Bu dosyayı Qt.cmd ismiyle kaydedin.
Derleyicinizin bulunduğu klasörü CompilerDir değişkeninde ayarlayın.
Daha sonra QT kaynak kodlarını çıkarttığınız klasörü QtSourceDir değişkeninde ayarlayın.
Son olarak derlenmiş Qt kütüphanelerini nerede görmek istiyorsanız QtOutputDir değişkeninde ayarlayın.
Sisteminizde yüklü ise şayet, Python ve Perl klasörlerini de PythonDir ve PerlDir değişkenlerinde ayarlayabilirsiniz.
Opsiyonel olarak configure -prefix ile başlayan komutları kendi isteğinize göre modifiye edebilirsiniz.
Derleyici olarak Visual Studio ile gelen MSVC++ yerine hem performans hem de standartları daha iyi desteklemesi adına MinGW öneririm.
Bunun için şu adreste bulunan internet bazlı yükleyici indirin ve çalıştırın. (32 bit ve 64 bit sürümleri mevcut)
MinGW-w64 - for 32 and 64 bit Windows
Bu dosyayı Qt.cmd ismiyle kaydedin.
Derleyicinizin bulunduğu klasörü CompilerDir değişkeninde ayarlayın.
Daha sonra QT kaynak kodlarını çıkarttığınız klasörü QtSourceDir değişkeninde ayarlayın.
Son olarak derlenmiş Qt kütüphanelerini nerede görmek istiyorsanız QtOutputDir değişkeninde ayarlayın.
Sisteminizde yüklü ise şayet, Python ve Perl klasörlerini de PythonDir ve PerlDir değişkenlerinde ayarlayabilirsiniz.
Opsiyonel olarak configure -prefix ile başlayan komutları kendi isteğinize göre modifiye edebilirsiniz.
Derleyici olarak Visual Studio ile gelen MSVC++ yerine hem performans hem de standartları daha iyi desteklemesi adına MinGW öneririm.
Bunun için şu adreste bulunan internet bazlı yükleyici indirin ve çalıştırın. (32 bit ve 64 bit sürümleri mevcut)
MinGW-w64 - for 32 and 64 bit Windows
Kod:
@echo off
:: -------------------------------------------------------------------------------------------------
:: Configure Here Before Running Script [Required] ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
:: -------------------------------------------------------------------------------------------------
set CompilerDir=C:\MinGW\mingw64
set QtSourceDir=C:\Qt\Source\5.9.0
set QtOutputDir=C:\Qt\5.9_LTCG
:: -------------------------------------------------------------------------------------------------
:: Configure Here Before Running Script [Optional]
:: -------------------------------------------------------------------------------------------------
set PythonDir=C:\Python
set PerlDir=C:\Perl64
:: -------------------------------------------------------------------------------------------------
:: Set Environment Variables
:: -------------------------------------------------------------------------------------------------
set LANG=en
set PATH=%SystemRoot%;%SystemRoot%\System32;%CompilerDir%\bin;%CompilerDir%\opt\bin;%QtSourceDir%\qtbase\bin;%QtSourceDir%\gnuwin32\bin;%PythonDir%;%PythonDir%\Scripts;%PerlDir%\bin;%PerlDir%\site\bin
:: -------------------------------------------------------------------------------------------------
:: Patch Before Process
:: -------------------------------------------------------------------------------------------------
set PatchedFile=%QtSourceDir%\qtbase\mkspecs\win32-g++\qmake.conf
if exist %PatchedFile%.original (
copy /y "%PatchedFile%.original" "%PatchedFile%"
)
else (
copy "%PatchedFile%" "%PatchedFile%.original"
)
echo.>>%PatchedFile%
echo QMAKE_CFLAGS_RELEASE -= -O2>>%PatchedFile%
echo QMAKE_CXXFLAGS_RELEASE -= -O2>>%PatchedFile%
echo QMAKE_LFLAGS_RELEASE -= -O2>>%PatchedFile%
echo QMAKE_CFLAGS_RELEASE += -O3 -fomit-frame-pointer -frename-registers -march=nocona -mtune=generic>>%PatchedFile%
echo QMAKE_CXXFLAGS_RELEASE += -O3 -fomit-frame-pointer -frename-registers -march=nocona -mtune=generic>>%PatchedFile%
echo QMAKE_LFLAGS_RELEASE += -O3 -fomit-frame-pointer -frename-registers -march=nocona -mtune=generic>>%PatchedFile%
:: -------------------------------------------------------------------------------------------------
:: Configure - Make - MakeInstall
:: -------------------------------------------------------------------------------------------------
if exist %QtOutputDir% rmdir /s /q %QtOutputDir%
mkdir %QtOutputDir%
mkdir shadow-build
cd shadow-build
cmd /C "%QtSourceDir%\configure -prefix %QtOutputDir% -release -shared -platform win32-g++ -c++std c++1z -opensource -confirm-license -qt-freetype -qt-libjpeg -qt-libpng -qt-pcre -qt-zlib -skip qtlocation -skip qt3d -sql-sqlite -opengl desktop -make libs -nomake examples -nomake tests -nomake tools"
if ERRORLEVEL 1 goto Error
cmd /C "%CompilerDir%\bin\mingw32-make -k -j16"
if ERRORLEVEL 1 goto Error
cmd /C "%CompilerDir%\bin\mingw32-make -k install"
if ERRORLEVEL 1 goto Error
:: -------------------------------------------------------------------------------------------------
:: End
:: -------------------------------------------------------------------------------------------------
echo.
echo SUCCESS - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
goto Exit
:Error
echo.
echo ERROR ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
goto Exit
:Exit
cd..
rmdir /s /q shadow-build
rmdir /s /q %QtOutputDir%
echo
set /p temp=""