2008-10-13 17 views
6

विफल रहता है, मैं अपने पुस्तकालयों और लिंकर (मिनजीडब्लू) के साथ एक क्यूटी एप्लिकेशन को जोड़ने की कोशिश कर रहा हूं, निम्नलिखित की तरह सैकड़ों लाइनों को फैलाता हूं, और मुझे यकीन है कि आगे बढ़ना कैसा है।क्यूटी अनुप्रयोग शानदार रूप से

 
cpp: undefined reference to `_Unwind_SjLj_Register' 
c:/qt/lib/libQtCore.a(qcoreapplication_win.o)(.text+0x29d):qcoreapplication_win. 
cpp: undefined reference to `_Unwind_SjLj_Unregister' 
c:/qt/lib/libQtCore.a(qcoreapplication_win.o)(.text+0x38c):qcoreapplication_win. 
cpp: undefined reference to `_Unwind_SjLj_Resume' 
c:/qt/lib/libQtCore.a(qcoreapplication_win.o)(.text+0x4ce):qcoreapplication_win. 
cpp: undefined reference to `_Unwind_SjLj_Register' 
c:/qt/lib/libQtCore.a(qcoreapplication_win.o)(.text+0x53e):qcoreapplication_win. 
cpp: undefined reference to `_Unwind_SjLj_Unregister' 
c:/qt/lib/libQtCore.a(qcoreapplication_win.o)(.text+0x635):qcoreapplication_win. 
cpp: undefined reference to `_Unwind_SjLj_Resume' 

उत्तर

1

इसके बाद से मैं किसी भी क्यूटी विकास किया था एक समय हो गया है, लेकिन वहाँ केवल कुछ उदाहरणों कि मैं इस तरह संदेशों के बड़ी संख्या उगल याद थे।

  • शामिल क्यूटी के लिए फ़ाइलों को साझा पुस्तकालयों ... यह हुआ जब मैं उन्नत बनाया की तुलना में एक अलग संस्करण थे और किसी कारण से, आप मैन्युअल रूप से अपग्रेड करने के लिए फ़ाइलों को शामिल किया था।
  • क्यूटी पुस्तकालय पूरी तरह से गायब थे ... मैं संकलक काम कर रहा हूं, लेकिन जब मैं पहली बार शुरू हुआ तो लिंकर विफल रहा।

मैं एआरएम प्रोसेसर पर लक्षित क्यूटी विकास कर रहा था, इसलिए क्रॉस-कंपाइलिंग में मेरे पास अतिरिक्त विषमताएं थीं।

6

मुझे नहीं पता ... लेकिन मेरे लिए, अनविंड के बारे में सामान फैलाने से पता चलता है कि पुस्तकालय को अपवादों के साथ संकलित किया गया है या नहीं और आपके आवेदन को अपवादों के साथ संकलित किया गया है।

आप अपवाद चाहते हैं, सुनिश्चित करें कि आप अपने qmake फ़ाइल में निम्न पंक्ति जोड़कर उन्हें सक्षम की हैं:

CONFIG += exceptions 

या, यदि आप अपवाद नहीं करना चाहते, विपरीत

CONFIG -= exceptions 
का उपयोग

और जो भी आप करते हैं, इसे स्वयं सेट करने के लिए C++ कंपाइलर विकल्पों का उपयोग न करें।

0

2 संभावित कारण है कि मैं के बारे में पता:

  1. यदि आप एक gcc3 लिंकर साथ gcc4 पुस्तकालयों से जोड़ने के लिए प्रयास करें।
  2. आपको संकलन कमांड
के अंत में -lstdc++ ध्वज की आवश्यकता है