Visual Studio 2013 (vs120) demande les mauvaises bibliothèques d’amplification

J’essaie de comstackr l’un de mes projets sous Windows 7 à l’aide de Visual Studio 2013. J’ai installé Boost 1.53 et installé la solution à l’aide de cmake.

En libboost_*-vc120-mt(-gd)-1_53.lib les bibliothèques compilées de boost se présentent sous la forme libboost_*-vc120-mt(-gd)-1_53.lib . Dans les options de projet de l’éditeur de liens, sous l’onglet Entrée, j’ai vérifié que les bibliothèques dont j’ai besoin sont présentes et que le compilateur est capable de les lire correctement.

Cependant, pour une raison que je ne comprends absolument pas, l’éditeur de liens essaie également de trouver des bibliothèques compilées sous le nom vc110 . Par exemple:

 error LNK1104: cannot open file 'libboost_filesystem-vc110-mt-gd-1_53.lib' 

Le jeu d’outils Platform indiqué dans l’option de projet est “Visual Studio 2013 (v120)”. Je n’ai trouvé aucune référence à vc110 dans les options de projet. Pouvez-vous m’aider à comprendre ce qui se passe?

Ce post résout heureusement ma question. Je n’ai pas pu le trouver avant. La solution consiste à modifier le boost/config/auto_link.hpp car le code qu’il boost/config/auto_link.hpp n’est pas capable de gérer vc120 et finit par suggérer vc110

Comment puis-je spécifier la version de la bibliothèque boost à associer?

Le nom de la bibliothèque est généré automatiquement dans l’en-tête de démarrage version.hpp.

Peut-être que la version n’a pas été reconstruite ou que vous pointez sur la mauvaise version d’en-tête?

Au lieu de corriger le fichier de configuration, essayez simplement de définir une macro avant l’inclusion de l’en-tête. C’est ce que j’ai fait dans mon projet.

// # define BOOST_LIB_TOOLSET “vc100” // # include