Comment la création automatique de liens fait-elle le choix?

Lorsque j’utilise Visual Studio 2012, avec la liaison automatique, je n’ai pas besoin d’append les bibliothèques boost / POCO / python manuellement, elles sont ajoutées automatiquement. Et si une bibliothèque me manque, je reçois un message comme celui-ci:

LINK: erreur fatale LNK1104: impossible d’ouvrir le fichier ‘libboost_system-vc110-mt-1_55.lib’

Mais comment sait-il quel fichier je veux lier? Peut-être que je veux lier dynamicment, en utilisant boost_system-vs110-mt-1_55.lib, ou j’en veux un avec gd ou sgd en nom?

Comment fait-il le choix?

Le problème est que mon programme recherche des bibliothèques libboost_ … (statiques), lors de la recherche de systèmes, de threads, etc., mais il souhaite un boost_ (dynamic) pour python, et je ne comprends tout simplement pas pourquoi?

Visual Studio permet aux directives #pragma du code source de définir les options de l’éditeur de liens. Pour “lier automatiquement”, Boost utilise ces #pragma's en combinaison avec les macros existantes.

En particulier, il semble que vous recherchiez la macro BOOST_ALL_DYN_LINK .