में संकलित नहीं किया गया है मैंने अपने x86 32-बिट लिनक्स सिस्टम पर जीसीसी 4.7 बनाया है। 64-बिट मोडजीसीसी: क्षमा करें, अनुपूरक: 64-बिट मोड
में संकलित नहीं, जबकि मेरी Linux वितरण द्वारा डिफ़ॉल्ट रूप से प्रदान की संकलक पार कर सकते हैं: मैं करने का प्रयास करते -m64 झंडा मैं
माफ करना, लागू नहीं किया गया साथ पार संकलन -64 के साथ संकलित करें।
मुझे जीसीसी में 64 बिट मोड को सक्षम करने के लिए ./configure को पास करने के लिए क्या करना है?
$ /usr/local/bin/g++ -v Using built-in specs. COLLECT_GCC=/usr/local/bin/g++ COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/i686-pc-linux-gnu/4.7.0/lto-wrapper Target: i686-pc-linux-gnu Configured with: ./configure --enable-multiarch --with-cloog=/usr/local/ --with-mpfr=/usr/local/ --with-ppl=/usr/local/ --verbose --enable-languages=c,c++ Thread model: posix gcc version 4.7.0 20120113 (experimental) (GCC)
संपादित करें:
--enable-multilib और --enable-लक्ष्य = i686-पीसी-linux-gnu, x86_64-पीसी- ये विकल्प मैं जीसीसी 4.7 का निर्माण करने के लिए इस्तेमाल कर रहे हैं linux-gnu
स्थिति को न बदलें। संकलक अभी भी संकलित नहीं किए गए 65 बिट मोड की शिकायत करता है:
$ g ++ -v अंतर्निहित चश्मे का उपयोग करना। COLLECT_GCC = g ++ COLLECT_LTO_WRAPPER =/usr/local/libexec/gcc/i686-pc-linux-gnu/4.7.0/lto-wrapper लक्ष्य: i686-pc-linux-gnu के साथ कॉन्फ़िगर किया गया: ./configure - सक्षम -multiarch --with-cloog =/usr/local/--with-mpfr =/usr/local/--with-ppl =/usr/local/--verbose --enable-languages = c, C++ --enable -multilib --enable-targets = i686-pc-linux-gnu, x86_64-pc-linux-gnu थ्रेड मॉडल: पॉज़िक्स जीसीसी संस्करण 4.7.0 20120113 (प्रयोगात्मक) (जीसीसी)
$ g ++ -m64 c.cpp c.cpp: 1: 0: माफ करना, लागू नहीं किया गया: 64-बिट मोड नहीं
'--enable-multiarch' डेबियन (या व्युत्पन्न) का सुझाव देता है, और जैसा कि मुझे याद है, एफएसएफ का जीसीसी वास्तव में डेबियन के बहुआयामी प्रणालियों के साथ अच्छी तरह से काम नहीं करता है। आपको एफएसएफ जीसीसी स्नैपशॉट्स में डेबियन के पैच को लागू करने की आवश्यकता हो सकती है। – hvd
बेशक यह इस तरह काम नहीं करेगा। मल्टीलिब में * पिछड़ा * संगतता है, और * आगे * नहीं है। 32-बिट मशीन पर 64-बिट कोड संकलित करने के लिए आपको न्यूनतम एसडीके बनाना होगा: binutils + libc [musl, uclibc, glibc, ...] + gcc। – 0andriy