2010-04-26 6 views
0

Je suis nouveau pour stimuler lib et essayer de compiler un exemple simple sur la façon dont la sérialisation fonctionne avec la bibliothèque Boost de http://www.boost.org/doc/libs/1_42_0/libs/serialization/example/demo.cpperreur de liens Boost

sur la compilation je reçois l'erreur d'éditeur de liens:

1>LINK : fatal error LNK1104: cannot open file 'libboost_serialization-vc80-mt-sgd-1_42.lib' 

I a également essayé de copier et mettre le fichier .lib dans le répertoire du projet, mais le compilateur VS 8.0 ne peut toujours pas lier à ce fichier.

+0

http://www.boost.org/doc/libs/1_42_0/more/getting_started/windows.html#link-your-program-to-a-boost-library –

+0

Je devais le changer en (/ MDd) dans les options de liaison complier. – n00b8688

Répondre

1

Pour poster-répondre complètement à la question ..

L'erreur est à partir des outils Boost de liaison automatique et il vous dit qu'il choisi pour l'auto-lien une version de la lib sérialisation que vous n'avez pas compilé. Vous pouvez essayer de compiler la version différente en suivant les instructions de construction à partir de la source (voir building from source). Plus précisément, la balise "mt-sgd" sur le nom de la bibliothèque vous indique qu'elle recherche le débogage statique C++ multi-thread avec la version de débogage de la bibliothèque (voir library naming). Passer à "/ MDd", comme vous l'avez fait, fait basculer le compilateur vers le runtime C++ de débogage dynamique multithread (voir MSVC run-time flags) qui s'avère être la version par défaut de Boost. Et par conséquent, il le trouve alors, comme vous l'avez déjà construit.

Questions connexes