Come installare MinGW-w64 e MSYS2?


88

Sto cercando di creare una libreria open source. Ho bisogno del sistema di gestione dei pacchetti per scaricare facilmente le dipendenze. All'inizio sto usando MinGW+MSYS. Ma i pacchetti inclusi sono limitati. Qualcuno mi ha detto di usare MinGW-w64 + MSYS2.

Ho scaricato il mingw-w64-installda qui . Durante l'esecuzione, segnala il seguente errore. Come sistemarlo?

inserisci qui la descrizione dell'immagine

E a proposito, dalla MinGW-w64pagina di download, vedo molti link per il download. Anche Cygwin è elencato. Come Cygwine MinGW-w64sono correlati?

inserisci qui la descrizione dell'immagine

La mia comprensione attuale è che, al tempo di MinGW+MSYS, MSYS è solo un bel addon per MinGW, mentre in MinGW-w64 + MSYS2MSYS2 è autonomo e MinGW-w64 è solo un insieme di librerie con cui può lavorare. Proprio come Cygwin può scaricare molti pacchetti diversi.

Risposte:


201

Sfortunatamente, il programma di installazione MinGW-w64 che hai usato a volte presenta questo problema. Io stesso non sono sicuro del motivo per cui ciò accade (penso che abbia qualcosa a che fare con il reindirizzamento URL di Sourceforge o qualsiasi altra cosa che il programma di installazione attualmente non è in grado di gestire abbastanza correttamente).

Ad ogni modo, se stai già pensando di utilizzare MSYS2, non è necessario quell'installer.

  1. Scarica MSYS2 da questa pagina (scegli 32 o 64 bit in base alla versione di Windows su cui lo utilizzerai, non al tipo di eseguibili che desideri creare, entrambe le versioni possono creare sia binari a 32 che a 64 bit).

  2. Al termine dell'installazione, fare clic sull'opzione "MSYS2 Shell" appena creata sotto MSYS2 64-bito MSYS2 32-bitnel menu Start. Aggiorna MSYS2 secondo il wiki (anche se faccio solo un pacman -Syu, ignoro tutti gli errori e chiudo la finestra e ne apro una nuova, questo non è raccomandato e dovresti fare quello che dice la pagina wiki).

  3. Installa una toolchain

    a) per 32 bit:

    pacman -S mingw-w64-i686-gcc
    

    b) per 64 bit:

    pacman -S mingw-w64-x86_64-gcc
    
  4. installa tutte le librerie / strumenti di cui potresti aver bisogno. Puoi cercare nei repository facendo

    pacman -Ss name_of_something_i_want_to_install
    

    per esempio

    pacman -Ss gsl
    

    e installa usando

    pacman -S package_name_of_something_i_want_to_install
    

    per esempio

    pacman -S mingw-w64-x86_64-gsl
    

    e da quel momento in poi la libreria GSL viene automaticamente trovata dal tuo compilatore MinGW-w64 a 64 bit!

  5. Apri una shell MinGW-w64:

    a) Per creare oggetti a 32 bit, apri "MinGW-w64 a 32 bit Shell"

    b) Per creare oggetti a 64 bit, apri "MinGW-w64 64-bit Shell"

  6. Verificare che il compilatore funzioni eseguendo

    gcc -v
    

Se desideri utilizzare le toolchain (con le librerie installate) al di fuori dell'ambiente MSYS2, tutto ciò che devi fare è aggiungere <MSYS2 root>/mingw32/bino <MSYS2 root>/mingw64/binal tuo file PATH.


4
Grazie. Come posso ottenere il nome canonico di un pacchetto che pacmanpuò riconoscerlo?
smwikipedia

1
Funzionerà se installi simultaneamente le toolchain a 32 e 64 bit?
Colonel Panic,

2
@Colonel sì, installerà le toolchain (e tutte le librerie di terze parti installate) in directory separate (/ mingw32 e / mingw64).
rubenvb

5
Grazie mille @rubenvb. Il wiki msys2 è così confuso per i noobs come me su come eseguire questi pochi semplici passaggi.
Toby

1
@ Toby Sono d'accordo che prendono "The Arch Way" per spiegare le cose, cioè leggere il wiki di Arch su pacman e sapresti quasi la stessa cosa. La configurazione di un principiante potrebbe essere utile, anche se ora è SO che dovrebbe apparire su Google abbastanza rapidamente :). (leggi questo come: continua a votare questa risposta: P)
rubenvb

38

MSYS non è stato aggiornato da molto tempo, MSYS2 è più attivo, è possibile scaricare dal MSYS2 , ha sia mingwe cygwin forkpacchetto.

Per installare la toolchain MinGW-w64 ( riferimento ):

  1. Apri la shell MSYS2 dal menu di avvio
  2. Esegui pacman -Sy pacmanper aggiornare il database del pacchetto
  3. Riapri la shell, esegui pacman -Syuper aggiornare il database dei pacchetti ei pacchetti di sistema di base
  4. Riapri la shell, corri pacman -Suad aggiornare il resto
  5. Installa il compilatore:
    • Per la destinazione a 32 bit, esegui pacman -S mingw-w64-i686-toolchain
    • Per la destinazione a 64 bit, esegui pacman -S mingw-w64-x86_64-toolchain
  6. Seleziona quale pacchetto installare, l'impostazione predefinita è tutto
  7. Potresti anche aver bisogno make, corripacman -S make

3
come installo una versione specifica di MinGW-w64 come x86_64-6.2.0-release-posix-seh-rt_v5-rev1?
Youda008

1
Significa che il programma di installazione mingw come descritto qui non è più necessario? e dovrei solo installare msys2?
lanoxx

1
Il collegamento Referenceè interrotto
Jean-Francois T.

qualche idea sul motivo per cui la shell msys2 si chiude dopo un secondo?
A_P

1
Nel caso abbiate bisogno di cmake, dovete installare pacman -S mingw-w64-x86_64-cmakee NON cmake . Il normale cmake mancherà di generatori per minGW.
user136036
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.