gcc boost linker

gcc - por qué "referencia indefinida a` boost:: system:: generic_category "incluso si hago un enlace en contra de boost_system



linker (1)

El orden en que vincula sus bibliotecas es importante, en su caso tiene library.cpp que aparentemente utiliza la biblioteca boost_system

library.cpp:(.text+0x25f): undefined reference to `boost::system::generic_category()'' library.cpp:(.text+0x269): undefined reference to `boost::system::generic_category()'' library.cpp:(.text+0x273): undefined reference to `boost::system::system_category()''

Para resolver esto, debe mover la biblioteca de boost_system al final de su línea de enlace

g++ -o build/myproject build/main/main.o -L/usr/local/boost/boost_1_52_0/boost/libs -L/usr/lib -Lbuild -L. -lboost_thread -lpthread -lboost_regex -lpq -lmylibrary **-lboost_system**

Alternativamente, construya libmylibrary.so como una biblioteca compartida y enlace a la biblioteca boost_system directamente.

Yo entendería este mensaje de error si no hubiera puesto el indicador -lboost_system , pero realmente está aquí:

g++ -o build/myproject build/main/main.o -L/usr/local/boost/boost_1_52_0/boost/libs -L/usr/lib -Lbuild -L. -lboost_system -lboost_thread -lpthread -lboost_regex -lpq -lmylibrary build/libmylibrary.a(library.o): In function `__static_initialization_and_destruction_0(int, int)'': library.cpp:(.text+0x25f): undefined reference to `boost::system::generic_category()'' library.cpp:(.text+0x269): undefined reference to `boost::system::generic_category()'' library.cpp:(.text+0x273): undefined reference to `boost::system::system_category()''

¿Tienes alguna idea de qué debo investigar para resolver el problema? (Yo uso gcc 4.6.3)