[python] साइथन और मिंगव के साथ संकलन जीसीसी उत्पन्न करता है: त्रुटि: अपरिचित कमांड लाइन विकल्प '-मोनो-साइगविन'



1 Answers

इन्हें हल करने की प्रक्रिया के दौरान और निम्नलिखित समस्याओं को मैंने पाया, मैंने इस धागे में एक नुस्खा लिखा था। अगर मैं दूसरों के लिए उपयोगिता हो सकता हूं तो मैं इसे यहां पुन: उत्पन्न करता हूं:

7 64-बिट जीत में मिंगव कंपाइलर के साथ पाइथन 2.6.6 के साथ 64-बिट साइथन एक्सटेंशन संकलित करने के लिए चरण-दर-चरण रेसिपी द्वारा चरणबद्ध करें

मिंगव कंपाइलर स्थापित करें
1) 64-बिट संकलन के लिए tdm64-gcc-4.5.2.exe स्थापित करें

Python.h पर पैच लागू करें
2) c में python.h संशोधित करें: \ python26 \ जैसा कि http://bugs.python.org/file12411/mingw-w64.patch में इंगित किया गया है

Distutils संशोधित करें
2013 संपादित करें: पायथन 2.7.6 और 3.3.3 -mno-cygwin की तुलना में नोट अंततः हटा दिया गया है इसलिए चरण 3 छोड़ा जा सकता है

3) सभी मानकों को हटा दें- mnw-cygwin fmon26 \ lib \ distutils \ cygwinccompiler.py में Mingw32CCompiler क्लास में gcc को कॉल करने के लिए कॉल करें
4) उसी मॉड्यूल में, msc_ver == '1500' जब [msvcr90 '] की जगह खाली सूची लौटने के लिए get_msvcr () को संशोधित करें।

Libpython26.a फ़ाइल का निर्माण करें (64 बिट पायथन में शामिल नहीं है)
2013 संपादित करें: gohlke से gohlke डाउनलोड और इंस्टॉल करके निम्नलिखित चरणों को 5-10 छोड़ा जा सकता है

5) mingw-w64-bin_x86_64- mingw_20101003_sezero.zip से gendef.exe प्राप्त करें (gendef.exe tmd64 वितरण में उपलब्ध नहीं है। दूसरा समाधान स्रोत से gendef संकलित करना है ...)
6) उपयोगकर्ता निर्देशिका (सी: \ उपयोगकर्ता \ myname) में python26.dll (सी \ windows \ system32 पर स्थित) की प्रतिलिपि बनाएँ
7) python26.def फ़ाइल के साथ उत्पादित करें:

gendef.exe सी: \ उपयोगकर्ता \ myname \ python26.dll

8) उपयोगकर्ता निर्देशिका में उत्पादित python.def फ़ाइल को स्थानांतरित करें (जहां से gendef निष्पादित किया गया था)
9) libpython.a के साथ उत्पादन:

dlltool -v --dllname python26.dll --def सी: \ उपयोगकर्ता \ myname \ python26.def --output-lib सी: \ उपयोगकर्ता \ myname \ libpython26.a

10) बनाया libpython26.a को C: \ Python26 \ libs पर ले जाएं

अपने .pyd एक्सटेंशन का निर्माण करें
11) साइथन ट्यूटोरियल में संकेत के रूप में एक परीक्षण hello.pyx फ़ाइल और एक setup.py फ़ाइल बनाएँ ( http://docs.cython.org/src/quickstart/build.html )
12) के साथ संकलित करें

पायथन setup.py build_ext - जगह

किया हुआ!

Question

मैं mingw (64-बिट) का उपयोग कर 7 64-बिट जीतने में साइथन के साथ एक अजगर एक्सटेंशन संकलित करने की कोशिश कर रहा हूं।
मैं पायथन 2.6 (सक्रिय पायथन 2.6.6) के साथ काम कर रहा हूं और पर्याप्त distutils.cfg फ़ाइल के साथ (कंपाइलर के रूप में mingw सेटिंग)

निष्पादित करते समय

> C:\Python26\programas\Cython>python setup.py build_ext --inplace

मुझे यह कहते हुए एक त्रुटि मिल रही है कि जीसीसी में एक -मो-साइगविन विकल्प नहीं है:

> C:\Python26\programas\Cython>python setup.py build_ext --inplace
running build_ext
skipping 'hello2.c' Cython extension (up-to-date)
building 'hello2' extension
C:\mingw\bin\gcc.exe -mno-cygwin -mdll -O -Wall -IC:\Python26\include -IC:\Python26\PC -c hello2.c -o build\temp.win-amd64-2.6\Release\hello2.o
gcc: error: unrecognized command line option '-mno-cygwin'
error: command 'gcc' failed with exit status 1

जीसीसी है:

C:\>gcc --version
gcc (GCC) 4.7.0 20110430 (experimental)
Copyright (C) 2011 Free Software Foundation, Inc.

मैं इसे कैसे ठीक कर सकता हूं?







Related