web-dev-qa-db-fra.com

Comment obtenir des versions plus anciennes de packages en utilisant MSYS2?

J'ai décidé d'essayer CLion pour Windows, qui recommande MinGW ou Cygwin pour la compilation.

J'ai installé le gestionnaire de packages MSYS2 dans le dossier par défaut, C:\msys64, l'a mis à jour en exécutant update-core et pacman -Su.

J'ai ensuite téléchargé le package MinGW64 en utilisant pacman -S mingw-w64-x86_64-gcc, qui a été placé dans C:\msys64\mingw64.

Le problème est, pacman -S mingw-w64-x86_64-gcc télécharge actuellement la version 5.0, qui n'est pas encore prise en charge par CLion.

MSYS2 prend-il en charge l'installation des anciennes versions des packages (la version MinGW 4.9.2 devrait bien fonctionner)? J'ai essayé de rechercher les packages MinGW en utilisant pacman -Ss mingw, mais la liste est incroyablement longue et comme je n'ai jamais travaillé avec MinGW auparavant, je ne sais vraiment pas quoi choisir.

24
Andy

Non, MSYS2 ne prend pas directement en charge l'installation des anciennes versions des packages. Voici cependant certaines choses que vous pouvez faire:

  • Regardez http://repo.msys2.org/ pour voir si la version que vous recherchez se trouve toujours sur le serveur. Il sera éventuellement supprimé mais vous aurez peut-être de la chance. Vous pouvez le télécharger puis l'installer avec pacman -U filename.tar.xz
  • Les référentiels https://github.com/Alexpux/MINGW-packages et https://github.com/Alexpux/MSYS2-packages ont les scripts de construction pour tous les Paquets MSYS2 afin que vous puissiez consulter leur historique de versions pour trouver le script de construction du paquet qui vous intéresse.

GCC est l'un des packages les plus difficiles à construire et à utiliser, il peut donc être difficile pour vous de le compiler à partir des sources. Sachez également que l'ABI C++ a changé entre GCC 4 et 5 ou quelque chose comme ça, de sorte que les binaires que vous créez avec l'ancien GCC peuvent ne pas fonctionner avec l'une des bibliothèques partagées MSYS2 C++ compilées avec GCC 5.

27
David Grayson