Подтвердить что ты не робот

Компиляция pygraphviz: непризнанная опция командной строки '-mno-cygwin'

В Windows 7 при попытке скомпилировать pygraphviz я запускаю

    python setup.py build -c mingw32

Я получаю

C:\MinGW\bin\gcc.exe -mno-cygwin -mdll -O -Wall "-IC:\Program Files (x86)\Graphv iz 2.28\include\graphviz" -Ic:\Python27\include -Ic:\Python27\PC -c pygraphviz/g raphviz_wrap.c -o build\temp.win-amd64-2.7\Release\pygraphviz\graphviz_wrap.o cc1.exe: ошибка: непризнанная опция командной строки '-mno-cygwin' Ошибка: команда 'gcc' не удалась с статусом выхода 1

Откуда это '-mno-cygwin'? Грепинг через каталог pygraphviz-1.1 не показывает вхождения "no-cygwin".

4b9b3361

Ответ 1

Смотрите этот ответ: fooobar.com/questions/4198/...

Короче говоря, вам может потребоваться изменить distutils\cygwinccompiler.py в вашем каталоге установки python, чтобы удалить следы -mno-cygwin.

Ответ 2

У меня была та же проблема, которая была исправлена ​​путем замены экземпляров строки "-mno-cygwin" на "" в C:\Python27\Lib\distutils\cygwinccompiler.py

то есть. Исходный код:

    self.set_executables(compiler='gcc -mno-cygwin -O -Wall',
                         compiler_so='gcc -mno-cygwin -mdll -O -Wall',
                         compiler_cxx='g++ -mno-cygwin -O -Wall',
                         linker_exe='gcc -mno-cygwin',
                         linker_so='%s -mno-cygwin %s %s'
                                    % (self.linker_dll, shared_option,
                                       entry_point))

Обновленный код:

    self.set_executables(compiler='gcc "" -O -Wall',
                         compiler_so='gcc "" -mdll -O -Wall',
                         compiler_cxx='g++ "" -O -Wall',
                         linker_exe='gcc ""',
                         linker_so='%s "" %s %s'
                                    % (self.linker_dll, shared_option,
                                       entry_point))

Какую версию компилятора GCC вы используете? Вы не получите эту проблему, если используете GCC 3.4.4, иначе вам нужно заменить строку "-mno-cygwin" пустыми кавычками, как указано выше, особенно для GCC 4.3.7.