Skąd wziąć g++ dla windowsa?

0

Witam
Potrzebuję aby w command linie windowsa działał mi g++ w jakiejś wersji co wspiera C++14 przynajmniej.
No i nie wiem skąd wziąć instalkę g++. No bo jak z wirtualnej maszyny z linuxa sobie poprzekopiowuje z /usr/bin i /usr/lib pliki od g++ gdzieś do katalogu w windowsie i windowsowego PATHa ustawię aby widział mi g++ to takie coś nie zadziała prawda? Myślałem, że mingw powinnem zainstalować, ale tego nie da się zainstalować bo autorzy mingw buga mają w setupie instalacyjnym, to nie tylko ja taki problem mam, ale od lat jest, także to odpada w ogóle. No i nie bardzo wiem co zrobić. To musi też być lekkie bo docelowo tworze apke aby można było konwertować cośtam w pewnej grze komputerowej i społeczności tej gry musze wytłumaczyć jak pobrać cmake (to łatwe), jak pobrać g++, gdzie tam jakie ify powstawiać w kodzie aby mogli se cośtam zmienić i jak skompilować. Czyli docelowo ludzie nie mający zielonego pojęcia o programowaniu bazując na moim tutorialu będą apkę rekompilować jak cośtam będą chcieli zmienić dla swoich potrzeb:) Dlatego nie moge tego przygotować projektu w visualu bo to za skompilkowane dla kogoś będzie. W linuxie też nie mogę, bo to też za skomplikowane.

1

Stephan T. Lavavej publikuje na swojej stronie już skompilowany MinGW wraz z dodatkowymi libami (jak Boost i SDL) w formie katalogu, który starczy rozpakować na dysku.

3

To musi też być lekkie bo docelowo tworze apke aby można było konwertować cośtam w pewnej grze komputerowej i społeczności tej gry musze wytłumaczyć jak pobrać cmake (to łatwe), jak pobrać g++, gdzie tam jakie ify powstawiać w kodzie aby mogli se cośtam zmienić i jak skompilować.

Zastanowiłbym się czy nie ma lepszego rozwiązania niż zmuszanie użytkownika do instalowania kompilatora C++.
Co miałaby robić ta apka czego nie potrafiłby jakiś język skryptowy typu Python czy Lua którego interpreter dołączyłbyś do programu.

3
fvg napisał(a):

No bo jak z wirtualnej maszyny z linuxa sobie poprzekopiowuje z /usr/bin i /usr/lib pliki od g++ gdzieś do katalogu w windowsie i windowsowego PATHa ustawię aby widział mi g++ to takie coś nie zadziała prawda?

NIE. Strzeliłeś straszną gafę. Struktura plików wykonalnych jest zupełnie inna na Windows i Linux. Do tego są dramatyczne różnice w API systemowym, więc taka kopia nie ma prawa działać.

fvg napisał(a):

Myślałem, że mingw powinnem zainstalować, ale tego nie da się zainstalować bo autorzy mingw buga mają w setupie instalacyjnym,

Opisz co poszło nie tak. MinGW instaluje się bez kłopotu. Wiele IDE samo go instaluje domyślnie (bo msvc ma ogranicznia licencyjne): Qt Creator, CodeBlocks, CLion, Dev-C++, .... .

fvg napisał(a):

To musi też być lekkie bo docelowo tworze apke aby można było konwertować cośtam w pewnej grze komputerowej i społeczności tej gry musze wytłumaczyć jak pobrać cmake (to łatwe), jak pobrać g++, gdzie tam jakie ify powstawiać w kodzie aby mogli se cośtam zmienić i jak skompilować. Czyli docelowo ludzie nie mający zielonego pojęcia o programowaniu bazując na moim tutorialu będą apkę rekompilować jak cośtam będą chcieli zmienić dla swoich potrzeb:)

To po kiego grzyba zmuszasz użytkownika do instalowania narzędzi programistycznych?
Mają pisać kod?
To mi wygląda na użynanie armaty do jakiegoś prostego problemu.
Domyślam się, że powinienes napisać "level editor".


Są jeszcze inne rozwiązania (ale też dla programistów, a nie dla społeczności zainteresowaną jakąś grą):
  • WSL2 - używam działa super - czyli Linux na Windows
  • Docker
0

Co do kompilatora to ja bym zobaczył mingw z QT, tylko 382MB wersja 5.3 32bit

Co do problemu budowania w obcym środowisku to bym zrobił tak:

  1. Przygotował paczkę (mingw, cmake, ninja)
  2. pierwszy BAT który zbuduje bez interakcji z użytkownikiem
  3. drugi BAT ktory skonfiguruje Visual Studio Code
  4. trzeci BAT ktory uruchomi visual studio code
    około 500MB

cd /d %~dp0
@rem ustawiam środowisko
@rem czysty PATH bez ostawień komputera
@rem tylko VSC + kompilator + ninja + cmake
set PATH=C:\Windows\System32;"C:\Users%USERNAME%\AppData\Local\Programs\Microsoft VS Code"

set DIR_CMAKE=%~dp\cmake\bin
set DIR_CPP=%~dp0\mingw530_32\bin
set DIR_NINJA=%~dp0\ninja

set PATH=%PATH%;%DIR_CMAKE%;%DIR_CPP%;%DIR_NINJA%

.....

1 użytkowników online, w tym zalogowanych: 0, gości: 1