2015-03-28 14 views
5

पर` libC++ `साथ संकलन मैं libC++, libC++ अबी और बजना ++ 3.6 आर्क लिनक्स 64के प्रयोग पर अपनी परियोजनाओं को संकलित करने के कोशिश कर रहा हूँ। 0अपरिभाषित संदर्भ जब linux

परियोजनाओं ठीक से संकलन है, लेकिन निम्न त्रुटि के साथ लिंक करने में विफल:

error: CMakeFiles/main.cpp.o: undefined reference to symbol '[email protected]@CXXABI_1.3.7'

/usr/lib/libstdc++.so.6:-1: error: error adding symbols: DSO missing from command line

मैं संकलन कर रहा हूँ और -stdlib=libc++ -lc++abi झंडे का उपयोग कर जोड़ने।

क्या कोई अतिरिक्त पुस्तकालय मुझे लिंक करना चाहिए? क्या मुझे झंडा याद आ रहा है?

+0

एक त्वरित Google खोज से पता चलता है कि यह सी ++ एबीआई में लागू नहीं किया गया है। –

उत्तर

7
-lsupc++ साथ

या तो लिंक या glibc कार्यान्वयन के लिए एक छोटा सा आवरण समारोह (शायद libc++ के लिए बेहतर तरीका) प्रदान करते हैं:

extern "C" int __cxa_thread_atexit(void (*func)(), void *obj, 
            void *dso_symbol) { 
    int __cxa_thread_atexit_impl(void (*)(), void *, void *); 
    return __cxa_thread_atexit_impl(func, obj, dso_symbol); 
} 

यह है कि यह केवल glibc> = 2.18 के साथ काम करता उल्लेख करने के लिए लायक हो सकता है ।

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