का उपयोग कर 32-बिट संकलन को मजबूर करने का उचित तरीका क्षमा करें कि कई समान प्रश्न हैं, लेकिन मुझे लगता है कि सीएमकेक प्रश्नों के लिए गुगलिंग हमेशा समान-समान-समान परिदृश्य उत्पन्न नहीं करती है, विवादित सीएमके आदेश और इतनी पर!सीएमके
मुझे 32-बिट बाइनरी बनाने के लिए अपनी परियोजना को मजबूर करने की आवश्यकता है क्योंकि मुझे पुस्तकालय से लिंक करना है जो केवल 32-बिट के रूप में उपलब्ध है।
/usr/bin/ld: i386 architecture of input file `*external-32bit-lib*' is incompatible with i386:x86-64 output
मैं क्या इकट्ठा से, इसलिए मैं का उपयोग करना चाहिए:: मैं इस तरह के रूप त्रुटि संदेश के आधार पर इस का निदान
set (CMAKE_CXX_FLAGS "-m32")
यह चीजों को बदलना है - अब मैं जैसे कई त्रुटियाँ मिलती है:
/usr/bin/ld: i386 architecture of input file `*project-output-lib*' is incompatible with i386:x86-64 output
और अभी भी बाहरी पुस्तकालय के लिए भी वही त्रुटियां मिलती हैं। मैं सोचता हूं ऐसा इसलिए है क्योंकि -m32
ने जीसीसी को 32-बिट बाइनरी उत्पन्न की है, लेकिन एलडी अभी भी 64-बिट आउटपुट के लिए प्रयास कर रहा है? इस समस्या के लिए आगे बढ़ने से कोई सफलता नहीं मिली, इसलिए अगर कोई यह सत्यापित कर सके कि मैं सही हूं और ऐसा करने का सही तरीका देता हूं, तो मैं बहुत आभारी रहूंगा!
बहुत धन्यवाद!
धन्यवाद क्योकि अच्छी तरह से मामला हो सकता है - लेकिन कैसे होगा हालांकि मैं सीएमके करता हूं? और क्या यह करने के लिए यह सबसे समझदार या 'उचित' तरीका है? मैंने साफ बीटीडब्ल्यू किया :) – jazzbassrob
अद्यतन उत्तर। लिंक देखें। मेरा मतलब है कि अपने हाथ साफ करें, आप गंदे हैं :) –
चीयर्स, लेकिन दुर्भाग्य से लिंक मदद नहीं करता है। एलडीएफएलजीएस को सेट करने का कोई असर नहीं पड़ता है ... – jazzbassrob