2017-04-20 1 views

Répondre

1

MSYS2 n'est pas un environnement Unix. C'est un environnement hybride composé de ces composants principaux:

  1. Couche d'émulation POSIX appelée msys-2.0.dll, qui est une branche de cygwin.
  2. Des outils tels que GNU Make, Bash et ls qui dépendent du moteur d'exécution msys-2.0.dll.
  3. pacman, un autre programme msys-2.0.dll, qui vous permet d'installer des packages précompilés à partir des développeurs MSYS2.
  4. Logiciel Windows natif, qui réside sous les répertoires /mingw32 (pour les systèmes 32 bits) et /mingw64 (pour les systèmes 64 bits).

De toute façon, il semble que vous venez de commencer avec MSYS2 et vous en savez pas beaucoup. Si votre objectif est d'écrire un logiciel Windows natif qui pourrait un jour être utilisé en dehors de MSYS2, vous devez installer la version Windows native de Boost fournie par les développeurs MSYS2. Donc, exécutez l'une des commandes ci-dessous:

pacman -S mingw-w64-i686-boost 

ou

pacman -S mingw-w64-x86_64-boost 

Ensuite, assurez-vous utilisez la saveur droite de la coque MSYS2, et assurez-vous d'installer le toolchain GCC correspondant. Pour le développement 32 bits, vous devez lancer MSYS2 avec le raccourci «MinGW-w64 32 bits Shell» et utiliser pacman pour installer mingw-w64-i686-toolchain (pacman -S mingw-w64-i686-toolchain).

Si vous essayez de télécharger des binaires boost à partir du site Web de boost, vous rencontrerez probablement toutes sortes de problèmes de compatibilité. Il est préférable d'utiliser un logiciel construit à l'aide d'une chaîne d'outils GCC MSYS2, surtout si MSYS2 a déjà un package pour ce logiciel.

+0

Merci pour l'explication claire! En fait, j'ai un projet Makefile C++ qui se compile avec 'i686-w64-mingw32'. Je dois y ajouter un client 'SignalR'. Construire ses dépendances, je dois compiler 'cpprestsdk' mais j'ai quelques problèmes avec' boost' (voir http://stackoverflow.com/q/43517521/881712). Par conséquent, j'essayais de le compiler à partir de sources aussi. – Mark

+0

Les développeurs MSYS2 compilent boost à partir de la source avec ce script: https://github.com/Alexpux/MINGW-packages/tree/master/mingw-w64-boost –