2009-08-07 7 views
5

J'ai un problème pour relier boost.asio. Il utilise boost.system et les erreurs de l'éditeur de liens commencent par:reliant boost.asio

/boost_1_39_0/boost/system/error_code.hpp:205: undefined reference to boost `système :: :: get_system_category() »

qui signifie que je besoin de lier boost.system. J'ai déjà construit boost et j'ai maintenant plusieurs fichiers lib.

  • boost_system-mgw32-d-1_39.dll et lib
  • libboost_system-mgw34-d-1_39.lib
  • libboost_system-mgw34-mt-d-1_39.lib
  • libboost_system-mgw34- sd-1_39.lib

et un peu plus. Comment les lier? Lequel dois-je utiliser? Est-ce que je les copie tous ensemble?

Mon système est win32 + mingw + eclipse cdt + qt 4.5.2 + qt intégration pour eclipse. J'ai déjà appris que je devais dans une section LIBS = à mon fichier .pro.

Pouvez-vous donner quelques conseils?

Merci.

Répondre

3

Les bibliothèques sont nommées selon que le support multi-thread est activé ou non, la liaison statique et dynamique, le mode de débogage et de libération, etc. Voici quelques détails:

http://www.boost.org/doc/libs/1_39_0/more/getting_started/unix-variants.html#library-naming

Je ne suis pas sûr éclipse car je ne l'utilise pas, mais avec gcc (et MinGW), vous devez spécifier un répertoire pour trouver les bibliothèques (-L) et le fichier à lier. Par exemple, si vous voulez faire le lien avec la version de débogage mono-thread:

-L/chemin/vers/bibliothèques -lboost_system-mgw34-sd-1_39

Questions connexes