मुझे "-arch x86_64 -arch i386" झंडे को दबाए जाने की आवश्यकता है वाफ जीसीसी को पास कर रहा है।ओएसएक्स पर वाफ के साथ ओपनजीएल/एसडीएल एप्लिकेशन संकलित करते समय मैं '-arch', 'x86_64' ध्वज कैसे दबा सकता हूं?
मैं एसडीएल/ओपनगल एप्लिकेशन का निर्माण कर रहा हूं। अगर मैं 32 बिट एसडीएल क्रम के खिलाफ लिंक मैं त्रुटि
Undefined symbols for architecture i386:
"_SDL_Quit", referenced from:
__del_video in SDL_functions.c.2.o
__init_video in SDL_functions.c.2.o
अगर मैं 64 बिट एसडीएल क्रम के खिलाफ लिंक मिलता है, मैं त्रुटि "वास्तुकला x86_64 के लिए अपरिभाषित प्रतीकों" मिल
संकलक जाहिरा तौर पर झंडे
उपयोग कर रहा है-arch x86_64 -arch i386
मैं समझता हूं कि यह ओएसएक्स पर जीसीसी को आर्किटेक्चर दोनों के लिए संकलित करने का प्रयास करने का कारण बनता है। मैं या तो 64 बिट के लिए संकलित करना चाहता हूं, या 32 बिट के लिए संकलित करना चाहता हूं। मैं एक वास्तुकला के लिए झंडे को कैसे दबा सकता हूं?
-m32 काम नहीं करता है। यह अभी भी 64 बिट झंडा जोड़ता है। मुझे विन्यास में 64 बिट झंडे को 32 बिट झंडे में बदलने के लिए एक sed कमांड लिखना पड़ा और मुझे 64 बिट बिल्ड प्राप्त हुआ। क्या मैं इसे केवल 64 बिट करने के लिए मजबूर कर सकता हूं? – HaltingState
मुझे यकीन नहीं है कि मैं आपको समझता हूं। X86_64 या i386 पर आर्क ध्वज सेट करना प्रोसेसर परिवार का अर्थ है। एम 64 या एम 32 फ्लैग को सेट करने का मतलब है निर्देश उत्पन्न। X86_64 परिवार 64 और 32 बिट दोनों निर्देशों को संभाल सकता है। आप कह रहे हैं कि आपने 64 बिट फ्लैग (जो वास्तव में?) को 32 बिट में बदल दिया है और 64 बिट बिल्ड किया है? यदि आप केवल 64 बिट चाहते हैं, तो आप i386 ध्वज का उपयोग नहीं कर सकते हैं। – Jerry
मुद्दा यह है कि वेफ इन झंडे को उपयोगकर्ता नहीं जोड़ रहा है - और उपयोगकर्ता केवल x86_64 चाहता है – Mark