Comment construire un boost 1.55 avec MINGW?

J’ai téléchargé boost 1.55 et MinGW. La console me répond que je n’ai aucune commande. Je ne peux pas comprendre comment lier 2 chemin et activer le compilateur gcc. PS Si je construis boost avec Microsoft Comstackr, j’aurai environ 8 erreurs avec l’erreur 3861 !!
Comment puis-je le construire?

Assurez-vous d’abord que le répertoire bin de votre mingw se trouve dans votre environnement PATH afin que gcc et g++ puissent être appelés à partir de votre invite de commande. Ensuite, allez dans le répertoire racine de votre boost où vous avez extrait les fichiers.

Suivez cela avec un bootstrap + b2.exe à construire. Par exemple, supposons que vous souhaitiez uniquement comstackr la partie regex de boost. Les commandes suivantes devraient faire l’affaire:

 bootstrap gcc b2 toolset=gcc regex 

Vous pouvez utiliser:

 b2 --show-libraries 

pour obtenir une liste des modules que vous pouvez construire individuellement. Bien sûr, vous pouvez tous les construire avec juste:

 b2 toolset=gcc 

Consultez Invocation Boost pour une liste détaillée des options disponibles.

La réponse de Greatwolf n’a pas fonctionné pour moi, alors voici comment j’ai réussi à le faire fonctionner.

Tout d’abord, assurez-vous que MinGW\bin est sur votre chemin

Accédez au répertoire tools\build\v2 de votre dossier boost. Par exemple, dans mon cas c’était C:\Boost\boost_1_55_0\tools\build\v2 . Puis courir

 bootstrap mingw 

Après cela, passez au répertoire racine Boost (cette partie est importante car b2 détecte ce qu’il faut construire en fonction du répertoire en cours)

Maintenant, si vous voulez construire le système de fichiers, faites

 tools\build\v2\b2 toolset=gcc --build-type=complete stage --with-filesystem 

Cela mettra libboost_filesystem-mgw48-d-1_55.dll etc. dans stage\lib . Si vous voulez tout construire, laissez simplement la partie --with-filesystem .

J’ai pu le construire en suivant les instructions d’Antimony. Cependant, j’ai initialement eu cette erreur:

 Bootstrapping the build engine \Windows was unexpected at this time. 

L’erreur a été résolue en effaçant la variable PATH et en y mettant juste le dossier MinGW:

 set PATH=C:\MinGW\bin 

Les instructions d’Antimony ont ensuite fait le travail pour moi. Merci!!

Juste deux autres petites choses qui pourraient être utiles. BOOST for MinGW doit être généré à partir du shell Windows et non du shell MSYS. Et dans la version 1.57, le script bootstrap.bat n’est plus dans tools \ build \ v2, mais directement dans tools \ build.

Si vous avez installé MinGW / GCC dans le cadre de TDM-GCC , vous aurez une “Invite de commandes MinGW” que vous pourrez lancer. Cela charge une fenêtre d’invite de commandes et place le compilateur GCC sur le PATH pour cette fenêtre. (Similaire à “l’invite de commande du développeur” installée avec Visual Studio.)

Je pense que la “dissortingbution MinGW” en a aussi une.

Si vous avez une invite de commande intégrée, vous pouvez simplement:

  • Lancer “Invite de commandes MinGW”
  • Allez dans votre dossier Boost (ex: C: / Boost)
  • Exécuter le bootstrap gcc
  • Exécutez b2 toolset=gcc (ou la commande dont vous avez besoin)

Si vous travaillez à partir d’exemples où quelqu’un ne définit pas explicitement le jeu d’outils, vous devrez append le toolset=gcc vous-même. Notez que le toolset doit être placé dans la position de la propriété et non pas dans l’ option ou la position de la commande . De b2 --help :

 b2 [options] [properties] [install|stage] 

Donc, si quelqu’un écrivait la commande pour invoquer la commande install avec l’option --prefix , il l’écrirait comme --prefix :

 b2 --prefix=C:\boost-build install 

Et vous le réécrivez comme:

 b2 --prefix=C:\boost-build toolset=gcc install 

Voir b2 --help pour plus de détails.