2013-03-07 11 views
14

मैं यह त्रुटि संदेश को समझने अगर मैं -lboost_system ध्वज नहीं रखा था होगा boost_system के खिलाफ कड़ी करते हैं, लेकिन यह वास्तव में यहाँ है "` बढ़ावा :: प्रणाली :: generic_category को अपरिभाषित संदर्भ ":क्यों भले ही मैं

 
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()' 

क्या आपको पता है कि समस्या को हल करने के लिए मुझे क्या जांच करनी चाहिए? (मैं का उपयोग जीसीसी 4.6.3)

+9

इसे अंत में डालने का प्रयास करें। –

+1

nooo! **यह काम करता है ! ! ** ** क्या आपको कोई विचार है क्यों? –

+3

यह [इस उत्तर] के दूसरे भाग में समझाया गया है (http://stackoverflow.com/a/492498/1252091)। –

उत्तर

21

आप library.cpp है आदेश, जिस पर आप अपने मामले में अपने पुस्तकालयों मामलों लिंक, कि जाहिरा तौर पर 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()' 

का उपयोग करता है इस का समाधान करने के लिए आप boost_system पुस्तकालय बढ़ना चाहिए अपने लिंक लाइन के अंत

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** 

वैकल्पिक रूप से करने के लिए, libmylibrary.so किसी साझा लाइब्रेरी और सीधे boost_system पुस्तकालय के लिए कड़ी के रूप में निर्माण।

+4

आज मेरे जीवन को बचाया! – alex88

+0

दो जिंदगी बचाई! (कम से कम) –

संबंधित मुद्दे