[[https://www.msys2.org/|MSYS2]] ist eine Windows Umgebung die ein Unix-ähnliches Terminal (bash, coreutils) bietet, einen Paketmanager (pacman) mitbringt und mehrere Toolchain-"Welten" hat (z. B. UCRT64, MINGW64, CLANG64) in denen man native Windows-Programme kompiliert. * MSYS = Unix-Tools zum Arbeiten (Skripte, bash, git, etc.) * MINGW/UCRT/CLANG = Windows-Kompiler (gcc/clang, libs, cmake, etc.) MSYS2 Installer auf [[https://www.msys2.org/|msys2.org]]. Die verschiedenen Umgebungen/Toolchains liegen im Installationsordner. Man kann aber auch den PATH anpassen und auf die entsprechenden Ordner lenken. # Erstes Update pacman -Syu # Wenn MSYS2 danach verlangt das Terminal zu schließen: schließen und neu öffnen, dann nochmal. Damit ist System + Paketdatenbank sauber aktualisiert.Suchen pacman -Ss cmake # Installieren pacman -S # Entfernen (inkl. ungenutzter Abhängigkeiten) pacman -Rns # Installierte Pakete anzeigen pacman -Q pacman -Syu pacman -S mingw-w64-x86_64-gcc pacman -S mingw-w64-x86_64-cmake pacman -S mingw-w64-x86_64-ninja pacman -S mingw-w64-x86_64-python pacman -S mingw-w64-x86_64-gdb In einer UCRT64-Shell installiert man typischerweise Pakete mit Präfix. Z.B: (UCRT) pacman -S mingw-w64-ucrt-x86_64-gcc pacman -S mingw-w64-ucrt-x86_64-cmake pacman -S mingw-w64-ucrt-x86_64-ninja pacman -S mingw-w64-ucrt-x86_64-python pacman -S mingw-w64-ucrt-x86_64-gdb Beispiel pacman -S --needed mingw-w64-x86_64-toolchain cat > hello.c <<'EOF' #include int main() { puts("Hello from MSYS2!"); return 0; } EOF gcc hello.c -o hello.exe ./hello.exe Typische Tools installieren (Git, curl, etc.) # In UCRT64 (Tools in der UCRT-Umgebung) pacman -S mingw-w64-ucrt-x86_64-git mingw-w64-ucrt-x86_64-curl mingw-w64-ucrt-x86_64-wget mingw-w64-ucrt-x86_64-unzip # In MSYS ("Unix-Tools" unabhängig vom Compiler) pacman -S git curl wget unzip