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


Answers

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

64-बिट विस्फोट के साथ पैनथान 2.6.6 के साथ 64-बिट साइथॉन एक्सटेंशन संकलित करने के लिए कदम नुस्खा द्वारा चरण 7 64-बिट

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

पायथन पर पैच को लागू करें
2) सी: \ python26 \ में Python.h को संशोधित करें जैसा कि http://bugs.python.org/file12411/mingw-w64Patch में दर्शाया गया है

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

3) सभी मापदंडों को समाप्त करें- mn-cygwin fom को कॉलिंग जीसीसी में Mingw32CCompiler वर्ग में Python26 \ Lib \ distutils \ cygwinccompiler.py
4) उसी मॉड्यूल में, '[msvcr90'] के बजाय खाली सूची को वापस करने के लिए get_msvcr () को संशोधित करें जब msc_ver == '1500'।

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

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

gendef.exe C: \ users \ myname \ python26.dll

8) पायथन.एडीएफ फ़ाइल को उत्पादित करें (फ़ोल्डर में स्थित है जहां से जीन्डेफ को निष्पादित किया गया था) उपयोगकर्ता निर्देशिका में
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

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

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

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

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

> 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.

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