web-dev-qa-db-fra.com

Comment décoder le nom de la bibliothèque boost?

J'ai essayé de découvrir que Gd signifie dans le nom de la bibliothèque boost et je n'ai trouvé que deux autres personnes cherchant la même chose.

Je suppose que ce devrait être un endroit où cela est clairement documenté et je voudrais le trouver.

  • mt - multithead, obtenez-le avec bjam threading=multi
  • s - bjam runtime-link=static
  • g - en utilisant des versions de débogage des bibliothèques de support standard et d'exécution. quel interrupteur bjam ???
  • d - débogage bjam variant=debug

Mettre à jour

Comment contrôler quels commutateurs bjam contrôlent les variantes ci-dessus? En fait, le seul que je n'ai pas pu identifier est le g.

55
sorin

Voir Booster les fenêtres de démarrage section 6.3 nommer et section 6.1 sur nommer Unix

Ceux qui traitent de -mt et d sont

-mt Threading tag: indicates that the library was built with multithreading support enabled. Libraries built without multithreading support can be identified by the absence of `-mt`.  

-d ABI tag: encodes details that affect the library's interoperability with other compiled code. For each such feature, a single letter is added to the tag as listed in this table:
  Key   Use this library when (Boost.Build option)
  s     linking statically to the C++ standard library 
        and compiler runtime support libraries.
        (runtime-link=static)
  g     using debug versions of the standard and runtime support libraries. 
        (runtime-debugging=on)
  y     using a special debug build of Python.
        (python-debugging=on)
  d     building a debug version of your code.
        (variant=debug)
  p     using the STLPort standard library rather than
        the default one supplied with your compiler.
        (stdlib=stlport)
58
Mark

De la documentation Boost à http://www.boost.org/doc/libs/1_35_0/more/getting_started/windows.html#library-naming , la convention est:

- mt Balise de thread: indique que la bibliothèque a été construite avec le support multithreading activé. Les bibliothèques construites sans support multithreading peuvent être identifiées par l'absence de -mt.

- d Balise ABI: code les détails qui affectent l'interopérabilité de la bibliothèque avec d'autres codes compilés. Pour chacune de ces fonctionnalités, une seule lettre est ajoutée à la balise:

 Clé Utilisez cette bibliothèque lorsque: 
 S établit une liaison statique avec la bibliothèque standard C++ et les bibliothèques de support d'exécution du compilateur. 
 G en utilisant des versions de débogage des bibliothèques de support standard et d'exécution. 
 y en utilisant une version spéciale de débogage de Python. 
 d en construisant une version de débogage de votre code. 
 p en utilisant la bibliothèque standard STLPort plutôt que celle par défaut fournie avec votre compilateur. 
 n en utilisant la fonction obsolète "iostreams natifs" de STLPort. 

Par exemple, si vous créez une version de débogage de votre code à utiliser avec les versions de débogage de la bibliothèque d'exécution statique et de la bibliothèque standard STLPort en mode "iostreams natifs", la balise sera: -sgdpn. Si rien de ce qui précède ne s'applique, la balise ABI est omise.

12
Riot

L'ensemble de base des fonctionnalités intégrées, qui est ce que vous spécifiez sur la ligne de commande (fonctionnalité = valeur), est décrit dans la documentation BBv2 (voir fonctionnalités intégrées ). Je ne sais pas si nous avons déjà mis à jour le guide de démarrage dans la prochaine version 1.43, mais il y a un changement de documentation en suspens pour ajouter ces descriptions d'options intégrées au guide de démarrage pour un accès plus rapide.

0
GrafikRobot