मैं "लिनक्स" पर्यावरण पर "सी/सी ++" अनुप्रयोगों को संकलित करने के लिए "जीसीसी क्रॉस-कंपाइलर" बनाना चाहता हूं लेकिन "विंडोज़" लक्ष्य के लिए।बिल्डिंग जीसीसी क्रॉस कंपाइलर ("लिनक्स" से "विंडोज़" तक)
मैं इस बना दिया है अब तक:
स्थापित "Prerequisites for GCC" पृष्ठ पर सूचीबद्ध जीसीसी के निर्माण के लिए आवश्यक उपकरण और संकुल।
डाउनलोड की आवश्यकता सूत्रों:
"gcc-core-4.4.1", "gcc-g++-4.4.1", "binutils-2.19.1", "w32api-3.13-mingw32", "mingwrt-3.16-mingw32"निर्मित इस निर्देशिका पदानुक्रम:
"$ {गृह}/जीसीसी/"- अंतिम क्रॉस-कंपाइलर
" $ {HOME}/src/"स्रोतों के लिए
" $ {HOME}/src/build-binutils/i386-mingw32/"- i386-mingw32" के लिए binutils के निर्माण के लिए लक्ष्य
"$ {HOME}/Src/निर्माण जीसीसी/i386-mingw32/"- जीसीसी के निर्माण के लिए" i386-mingw32 "लक्ष्यbuilded binutils पैकेज:
सीडी" $ {गृह}/src/निर्माण binutils/i386 -mingw32/"
../../binutils-2.19.1/configure उपसर्ग =" $ {गृह}/जीसीसी "--target = i386-mingw32 --disable-NLS
स्थापित कर बनानेप्रतिलिपि बनाई गई "w32api" और "mingwrt" स्थापित करने के लिए निर्देशिका हेडर:
सीपी-आर "$ {HOME} /src/w32api-3.13-mingw32/include" "$ {HOME}/gcc/i386-mingw32"
सीपी-आर "$ {HOME} /src/mingwrt-3.16- mingw32/"शामिल" $ {गृह}/जीसीसी/i386-mingw32 "
और अब जब मैं निर्माण करने के लिए कोशिश कर रहा हूँ" ग (केवल) पार संकलक ":
cd "${HOME}/src/build-gcc/i386-mingw32/"
../../gcc-4.4.1/configure --prefix="${HOME}/gcc" --target=i386-mingw32 --enable-languages=c --with-headers="${HOME}/gcc/i386-mingw32/include" --disable-nls
make<br>
यह लगभग 4 मिनट का निर्माण कर रहा था और फिर मुझे ये त्रुटियां देता है:
${HOME}/gcc/i386-mingw32/bin/ld: dllcrt2.o: No such file: No such file or directory
collect2: ld returned 1 exit status
make[2]: *** [libgcc_s.dll] Error 1
make[2]: Leaving directory `${HOME}/src/build-gcc/i386-mingw32/i386-mingw32/libgcc'
make[1]: *** [all-target-libgcc] Error 2
make[1]: Leaving directory `${HOME}/src/build-gcc/i386-mingw32'
make: *** [all] Error 2
उस त्रुटि संदेश से मैं वास्तव में नहीं जानता कि अब क्या करना है: - ((।
क्या कोई जानता है कि समस्या कहां है?
धन्यवाद।
आपकी टिप्पणी के लिए बहुत बहुत धन्यवाद: "आपने सफलतापूर्वक उपरोक्त चरण 3 का प्रदर्शन किया है"। मैंने सोचा कि अगर मुझे कोई त्रुटि मिलती है तो मैं अगले चरण में नहीं जा सकता, लेकिन (सौभाग्य से) मैं गलत था। इसके बाद मैंने सफलतापूर्वक Win32api संकलित किया, लेकिन जब मैंने mingwrt संकलित करने का प्रयास किया तो मुझे कुछ त्रुटियां मिलीं - कुछ "थ्रेडिंग" के साथ गलत था। इसलिए मैंने इन पैरामीटरों के साथ जीसीसी संकलित करने का निर्णय लिया: --prefix = "$ {HOME}/gcc" --target = i386-mingw32 --program-prefix = i386-mingw32 --enable-languages = c, C++ --with -हेडर = "$ {HOME}/gcc/i386-mingw32/शामिल करें" --disable-nls --disable-threads - अक्षम-साझा - अक्षम-libssp। और यह काम किया !!! – Petike
मुझे पिछली टिप्पणी से थोड़ी गलती के लिए खेद है: समस्या "साझा" विकल्प में थी और "थ्रेड" विकल्प के साथ नहीं। तो यह निर्दिष्ट "--disable-threads" के बिना भी संकलित। – Petike
धागे के संबंध में, यदि आपके पास pthreads-win32 लाइब्रेरी स्थापित है तो आप '--enable-libgomp' (ओपनएमपी के लिए) के साथ जीसीसी भी बना सकते हैं। –