29 votes

La construction de coup de pouce pour la liaison statique (MinGW)

Je suis en train de construire Boost (je suis en utilisant le Système et le système de fichier) pour MinGW à l'aide de bjam:

bjam --toolset=gcc stage

Et il s'appuie bien, mais je veux être en mesure de lier statiquement à elle (je dois avoir un fichier unique pour le produit final), donc j'ai essayé:

bjam --link=static --toolset=gcc stage

Mais j'obtiens le même résultat. Des idées?

modifier la deuxième question dans une ligne que j'ai répondu à quelques instants après le poster :p crois que je vais laisser ça là haut pour les autres si.

bjam --build-type=complete --toolset=gcc stage

Va construire à la fois dynamique et statique pour vous.

41voto

Laserallan Points 5500

Je pense que le lien est une propriété par opposition à une option pour bjam. Cela signifie qu'il ne devrait pas être -- avant.

C'est ma ligne de commande pour la construction de seulement bibliothèques statiques (visual c++ tout de même):

bjam install --toolset=msvc variant=release link=static threading=multi runtime-link=static

La cartographie que l'original de votre commande build je dirais qu'il doit ressembler à quelque chose comme ceci:

bjam --toolset=gcc link=static stage

ou peut-être:

bjam stage --toolset=gcc link=static

Essayez d'exécuter

bjam --help

pour plus d'informations sur les propriétés et les options pour bjam.

8voto

Ashley Smart Points 912

Veux juste noter que la plus récente des boost (Février 2011), vous devez construire des bjam ainsi maintenant.. pour une raison quelconque, le courant téléchargeable bjam ne fonctionne pas correctement.

Alors d'abord:

cd ...\boost_1_45_0\tools\build\v2\engine\src

build.bat mingw

Vous devrez ajouter bjam le CHEMIN (à partir du panneau de contrôle, non seulement sur l'invite de cmd). Alors

cd ...\boost_1_45_0\

bjam --build-type=complete --toolset=gcc stage

Mon installation est Vista, Boost 1.45, MinGW 4.5, et la construction de cmd.exe pas msys.

http://code-slim-jim.blogspot.com/2011/02/boost-in-vista-using-mingw-and-cmdexe.html

0voto

Fredrik Jansson Points 1614

Je n'ai pas monté moi-même dans MinGW mais je crois que le premier build de sortie à la fois dynamiques et statiques des bibliothèques et de la deuxième seulement statique, donc si vous n'avez pas à nettoyer les répertoires de construction entre la construit sera probablement le même aspect.

Lorsque vous écrivez "je dois avoir un seul fichier..." voulez-vous dire vous avez besoin d'une bibliothèque unique contenant toutes les bibliothèques boost? Si oui, je suppose que vous pourriez avoir à 'ar' ensemble vous-même.

0voto

Jon Trauntvein Points 1513

J'utilise la ligne de commande suivante pour créer les deux le statiquement ainsi que la liée de façon dynamique les versions de boost:

bjam  "-sBUILD=debug release <runtime-link>static/dynamic <threading>multi" stage

Ceci est fait avec visual c++ sur windows YMMV.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X