Napisałem kilka efektów w C ++ (g ++) używając freeglut na Linuksie i kompiluję je z
g++ -Wall -lglut part8.cpp -o part8
Więc zastanawiałem się, czy jest możliwe, aby g ++ tworzyło statycznie skompilowane pliki wykonywalne Windows, które zawierają wszystko, czego potrzeba?
Nie mam Windowsa, więc byłoby fajnie, gdybym mógł to zrobić na Linuksie :)
Odpowiedzi:
mingw32 istnieje jako pakiet dla systemu Linux. Za jego pomocą można krzyżowo kompilować i łączyć aplikacje Windows. Na forum Code :: Blocks znajduje się samouczek . Pamiętaj, że polecenie zmienia się
x86_64-w64-mingw32-gcc-win32
na przykład na.Na przykład Ubuntu ma MinGW w swoich repozytoriach:
źródło
Jedną z opcji kompilacji dla systemu Windows w systemie Linux jest mingw. Znalazłem bardzo pomocny samouczek tutaj .
Aby zainstalować mingw32 w systemach opartych na Debianie, uruchom następujące polecenie:
sudo apt-get install mingw32
Aby skompilować swój kod, możesz użyć czegoś takiego:
i586-mingw32msvc-g++ -o myApp.exe myApp.cpp
Czasami będziesz chciał przetestować nową aplikację Windows bezpośrednio w systemie Linux. Możesz użyć do tego wina, chociaż zawsze pamiętaj, że wino może mieć błędy. Oznacza to, że możesz nie być pewien, że błąd jest w wine, twoim programie lub w obu, więc używaj wine tylko do ogólnych testów.
Aby zainstalować wino, uruchom:
sudo apt-get install wine
źródło
mingw32-binutils
amingw32-runtime
ponieważ są to zależnościmingw32
void main(){}
itp ...), myślę, że kompiluje się w Windows, ale nie działa w mingw, naprawiłem je. Spróbowałem teżi586-mingw32msvc-cpp
i wygenerował plik tekstowy z czymś w rodzaju rzeczy do skompilowania lol .. g ++ działał, thx!mingw32
(oznaczone jako „zależności”. Jeśli je określisz, nie będą (oznaczone jako „ręczne”).Sugerowana metoda spowodowała błąd w systemie Ubuntu 16.04: E: Nie można zlokalizować pakietu mingw32
==================================================== =========================
Aby zainstalować ten pakiet w systemie Ubuntu, użyj następującego:
Po instalacji możesz z niego korzystać:
Proszę zanotować!
Do użytku 64-bitowego: x86_64-w64-mingw32-g ++
Do użytku 32-bitowego: i686-w64-mingw32-g ++
źródło
Zainstaluj kompilator krzyżowy, taki jak mingw64 z menedżera pakietów. Następnie skompiluj w następujący sposób: zamiast po prostu wywoływać
gcc
calli686-w64-mingw32-gcc
dla 32-bitowego Windows lubx86_64-w64-mingw32-gcc"
64-bitowego Windows. Użyłbym również tej--static
opcji, ponieważ system docelowy może nie mieć wszystkich bibliotek.Jeśli chcesz skompilować innego języka, jak Fortran, wymienić
-gcc
się-gfortran
w poprzednich poleceń.źródło
Użyłem mingw na Linuksie do tworzenia plików wykonywalnych Windows w C, podejrzewam, że C ++ również zadziała.
Mam projekt, ELLCC, który zawiera pakiety clang i inne rzeczy jako łańcuch narzędzi kompilatora krzyżowego. Używam go do kompilacji clang (C ++), binutils i GDB dla Windows. Kliknij łącze pobierania na stronie ellcc.org, aby uzyskać wstępnie skompilowane pliki binarne dla kilku hostów Linux.
źródło
Od: https://fedoraproject.org/wiki/MinGW/Tutorial
„Wskazówki i porady dotyczące korzystania z kompilatora krzyżowego systemu Windows”: https://fedoraproject.org/wiki/MinGW/Tips
źródło
dla Fedory to
źródło
sudo dnf groupinstall ...
też.