2014-06-07 4 views
34

से लापता मैं इस तरह एक सी ++ प्रोग्राम को संकलित करने के कोशिश कर रहा हूँ:DSO कमांड लाइन

$ g++ -o Sniffer_Train main.cpp Sniffer_train.cpp Sniffer_train.h -lmysqlclient -lpcap 

हालांकि मैं निम्नलिखित त्रुटि मिलती है:

/usr/bin/ld: /tmp/cct6xeXD.o: undefined reference to symbol 
'[email protected]@GLIBC_2.4' //lib/arm-linux-gnueabihf/libpthread.so.0: 
error adding symbols: DSO missing from command line 

collect2: error: ld returned 1 exit status 

मैं पता नहीं क्या इस त्रुटि का अर्थ है। किसी भी प्रकार की सहायता सराहनीय होगी।

+0

यह भी देखें [अजीब लिंकिंग त्रुटि: कमांड लाइन से डीएसओ गायब] [http://stackoverflow.com/q/19901934), [कमांड लाइन से डीएसओ गायब] [http://stackoverflow.com/q/24096807) , और [लिंकिंग त्रुटि: कमांड लाइन से डीएसओ गायब] [http://stackoverflow.com/q/24989432)। – jww

+1

[अजीब लिंकिंग त्रुटि का संभावित डुप्लिकेट: कमांड लाइन से डीएसओ गायब] [http://stackoverflow.com/questions/19901934/strange-linking-error-dso-missing-from-command-line) – jww

उत्तर

56

डीएसओ का अर्थ है Dynamic Shared Object; चूंकि त्रुटि संदेश कहता है कि यह कमांड लाइन से गुम है, मुझे लगता है कि आपको इसे कमांड लाइन में जोड़ना होगा।

यही है, -lpthread को अपनी कमांड लाइन में जोड़ने का प्रयास करें।

+0

धन्यवाद, मेरे पास एक था कुछ अन्य परियोजनाओं के साथ इसी तरह की समस्या और इसे इस तरह हल करने में सक्षम था। मैं बस इसे जोड़ना चाहता हूं कि मैं करीब देखता हूं, मैं देख सकता हूं कि समस्या वास्तव में समस्या पर बहुत ही अनैतिक है। मेरा मतलब है, यह कहता है कि 'pthread_join' अपरिभाषित है और यह 'libpthread.so' से संबंधित है। लेकिन स्राई की तरह मुझे नहीं पता था कि जब तक मैं यहां आया तब तक त्रुटि का मतलब क्या था। :-) – Alex

+4

क्या त्रुटि दिखाती है कि एलडी को आवश्यक डीएसओ पता है '// lib/arm-linux-gnueabihf/libpthread.so.0'? – acgtyrant

-1

निपटारे के बाद, मुझे एक ऐसी लाइब्रेरी भी जुड़ी हुई है, जिसे एक कनेक्ट करने की आवश्यकता है।
लेकिन वास्तव में, आप पुस्तकालय को कनेक्ट करना भूल गए हैं।