Benutzer-Werkzeuge

Webseiten-Werkzeuge


msys2

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 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 <paketname>
 
# Entfernen (inkl. ungenutzter Abhängigkeiten)
pacman -Rns <paketname>
 
# 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 <stdio.h>
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
msys2.txt · Zuletzt geändert: 2026/01/05 13:07 von jango