Chciałem przenieść moją aplikację Qt 4, aby zamiast tego używać Qt 5. These instructions nie powiodło się, z powodu pewnych różnic w sposobie budowania Qt 5 przez MXE, w tym z faktu, że używa modularnych archiwów Qt zamiast jednego dużego archiwum tar.Budowanie Qt 5 w systemie Linux, dla Windows
Odpowiedz
Oto pełne instrukcje:
Pobierz:
git clone https://github.com/mxe/mxe.git
Install build dependencies
Budowanie Qt 5 dla Windows:
cd mxe && make qtbase
Najpierw zbuduje swoje zależności i narzędzia do kompilacji; To powinno zająć mniej niż godzinę na szybkiej maszynie z przyzwoitym dostępem do Internetu.
Ze względu na nowy modułowy charakter Qt 5, różne główne komponenty Qt znajdują się teraz w różnych archiwach. Ta wybrana powyżej,
qtbase
, powinna dać ci wystarczającą funkcjonalność, by uruchamiać zwykłe aplikacje GUI, co jest wszystkim, czego potrzebowałem do mojej (małej) aplikacji.Jeśli chcesz zbudować wszystkie Qt 5 zamiast tego, musisz uruchomić
make qt5
(zamiastmake qtbase
). Zauważ, że ukończenie jej zajmuje dużo więcej, więc upewnij się, że potrzebujesz dodatkowej funkcjonalności.dostać się do katalogu aplikacji i uruchom narzędzie generatora Qt Makefile:
<mxe root>/usr/bin/i686-w64-mingw32.static-qmake-qt5
Zbuduj swój projekt:
make
należy znaleźć binarnego w ./ wydanie katalogu:
wine release/foo.exe
Kilka uwag:
ten był testowany na moim 64-bit Debiana 8 i Windows oczywiście.
Dane wyjściowe to 32-bitowy plik wykonywalny, który będzie działać poprawnie w 64-bitowym systemie Windows.
Jeśli chcesz 64-bitowy plik wykonywalny, budować Qt z:
make MXE_TARGETS=x86_64-w64-mingw32.static qtbase
Domyślna wartość
MXE_TARGETS
jesti686-w64-mingw32.static
.
Polecenie git checkout jest nieprawidłowe. Musisz teraz zdobyć ich stabilną gałąź lub nie uda jej się zbudować.
powinno być ...
To samo naprawiło wszystkie moje problemy z qtbase building, ale nie pozostawiając żadnego folderu qt po zakończeniu. Wtedy cel qt5 zakończyłby się niepowodzeniem z niejasnymi błędami. Usunięty folder, wyewidencjonowany stabilny i działał bezbłędnie.
Domyślam się, że był to tylko tymczasowy problem ...' master' działa teraz, a ja właściwie nie pamiętam czasu gdy się nie udało, chociaż w większości buduję 'qtbase', a nie większe' qt5'. – Tshepang
git clone -b stabilny https://github.com/mxe/mxe.git nie działa dla mnie – j35t3r
@ j35t3r Nie sądzę, że istnieje już "stabilna" gałąź. – Marcus
Jak zmienić katalog, w którym mxe qmake wypluwa pliki? Mam typowe qmake produkujące pliki i foldery w ./build, ale mioty mxe qmake mój katalog główny projektu –
Czy znalazłeś już odpowiedź? Jeśli nie, nie wiem i może zadać to jako oddzielne pytanie. – Tshepang
Zdecydowanie użyj msys2 zamiast MXE. W msys2 możesz zainstalować wstępnie skompilowane pliki binarne qing z mingw32 i mingw64 za pomocą jednego polecenia 'pacman -S mingw32/mingw-w64-i686-qt-creator' lub' pacman -S mingw64/mingw-w64-x86_64-qt-creator' –