Nous utilisons le `lib » comme celui-ci à introduire une bibliothèque pré-construite externe dans un projet:Boost.Build meilleures pratiques Introduct une bibliothèque pré-construit au projet
lib ace_lib_static : : <name>libboost_ace-vc80-mt-sgd.lib <variant>debug <toolset>msvc <address-model>64
<search>../lib/ACE_wrappers/lib64
;
lib ace_lib_static : : <name>libboost_ace-vc80-mt-s.lib <variant>release <toolset>msvc <address-model>64
<search>../lib/ACE_wrappers/lib64
;
lib ace_lib_static : : <name>libboost_ace-vc80-mt-sgd-5_6_8.lib <variant>debug <toolset>msvc
<search>../lib/ACE_wrappers
;
lib ace_lib_static : : <name>libboost_ace-vc80-mt-s-5_6_8.lib <variant>release <toolset>msvc
<search>../lib/ACE_wrappers
;
project myProject
: requirements <include>.
<include>../lib/ACE_wrappers
<define>ACE_AS_STATIC_LIBS
...
Pour utiliser correctement ace_lib_static dans le projet, nous devons copier le bloc dans le fichier jam du projet. Notez qu'il définit le nom de fichier, le répertoire de recherche, le répertoire d'inclusion et la macro. Et ceci est pour VC 8.0 seulement. Si nous ajoutons le support pour les autres compilateurs, le bloc est encore plus gros.
Existe-t-il une meilleure façon d'introduire une bibliothèque externe prébuiltée dans boost.build? Idéalement, nous voulons avoir un fichier de confiture séparé que le fichier jam du projet peut référencer, et ajouter quelques lignes pour le rendre disponible au projet.