101 votes

fatal error LNK1104 : cannot open file 'libboost_system-vc110-mt-gd-1_51.lib' (erreur fatale)

Il semble que je n'arrive pas à le faire fonctionner. J'ai fait une application console simple (qui dépend de websocket++ ) qui nécessitent Boost mais quand j'essaie de compiler, j'obtiens :

fatal error LNK1104 : cannot open file 'libboost_system-vc110-mt-gd-1_51.lib' (erreur fatale)

Cependant, j'ai fait le bjam qui a créé la librairie en (boost_root)/stage/libs et j'ai lié le chemin vers les librairies au compilateur C++/Additionnals includes .

Si je regarde dans (boost_root)/stage/libs le fichier libboost_system-vc110-mt-gd-1_51.lib n'est pas là. Il s'appelle libboost_system-vc110-mt-sgd-1_51.lib à la place.

Une idée ?

2voto

Bob Bryan Points 1312

Si vous avez des difficultés à construire boost ou si vous préférez ne pas le faire, une alternative est de télécharger les fichiers lib à partir de SourceForge . Le lien vous mènera à un dossier de fichiers lib et dll zippés pour la version 1.51. Mais, vous devriez pouvoir modifier le lien pour spécifier la version de votre choix. Apparemment, l'installateur de BoostPro a quelques problèmes.

2voto

Dmitry Ivanov Points 141

B2 -j%cores% toolset=%msvcver% address-model=64 architecture=x86 link=static threading=multi runtime-link=shared --build-type=minimal stage --stagedir=stage/x64

Propriétés → Linker → Général → Répertoires de bibliothèques supplémentaires. $(BOOST) \stage\ x64 \lib

1voto

Skyfish Points 69

Si vous utilisez Visual Studio, avez-vous essayé d'utiliser Tools / NuGet Package Manager pour installer boost_program_options-vcXXX ? C'est une façon simple d'installer boost.

0voto

fiorentinoing Points 411

J'ai eu le même problème que celui signalé ici. J'ai résolu le problème en déplaçant le fichier mainTest.cpp d'un sous-dossier src/mainTest/ vers le dossier principal src/. Je suppose que c'était aussi votre problème.

0voto

kevinf Points 401

2>LINK : fatal error LNK1104: cannot open file 'libboost_regex-vc120-mt-sgd-1_55.lib

Dans mon cas, bootstrap/bjam n'était pas disponible (les bibliothèques étaient précompilées et commises dans le SCM) sur l'ancien projet hérité. Les bibliothèques n'avaient pas de version VC ou BOOST dans leurs noms de fichiers, par exemple : libboost_regex-mt-sgd.lib Cependant Processed /DEFAULTLIB:libboost_regex-vc120-mt-sgd-1_55.lib a été en quelque sorte déclenché automatiquement.

Corrigé en ajoutant manuellement le nom de fichier non versionné à :

<AdditionalDependencies>$(DK_BOOST)\lib64\libboost_regex-mt-sgd.lib</AdditionalDependencies>

et la mise sur liste noire de la ...vc120-mt-sgd-1_55.lib sur

<IgnoreSpecificDefaultLibraries>libboost_regex-vc120-mt-sgd-1_55.lib</IgnoreSpecificDefaultLibraries>

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