2009-08-07 11 views
5

Tengo un problema para vincular boost.asio. Utiliza boost.system y los errores de enlace se inicia con:linking boost.asio

/boost_1_39_0/boost/system/error_code.hpp:205: undefined reference to `impulso del sistema :: :: get_system_category()'

cual significa necesita vincular boost.system. Ya construí boost y ahora tengo varios archivos lib.

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

y algunos más. ¿Cómo los enlace? ¿Cuál uso? ¿Copio todos juntos?

Mi sistema es win32 + mingw + eclipse cdt + qt integración de 4.5.2 + qt para eclipse. Ya aprendí que necesito en una sección LIBS = a mi archivo .pro.

¿Pueden darme algunas pistas?

Gracias.

Respuesta

3

Las bibliotecas se nombran en función de si la compatibilidad con multihilo está habilitada, la vinculación estática y dinámica, el modo de depuración y liberación, y más. He aquí algunos detalles:

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

No estoy seguro acerca de Eclipse como yo no lo uso, pero con gcc (y MinGW) que necesita para especificar un directorio para encontrar las bibliotecas (-L) y el archivo para vincular. Por ejemplo, si desea vincular con la versión de depuración de un solo subproceso:

-L/ruta/a/bibliotecas -lboost_system-mgw34-sd-1_39