python mingw32 pygraphviz

python - Compilando pygraphviz: opción de línea de comando no reconocida ''-mno-cygwin''



mingw32 (2)

Tuve el mismo problema que se ha solucionado al reemplazar las instancias de la cadena "-mno-cygwin" con "" en C:/Python27/Lib/distutils/cygwinccompiler.py

es decir, código original:

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

Código actualizado:

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

¿Qué versión del compilador GCC usas? No obtendrá este problema si usa GCC 3.4.4; de lo contrario, debe reemplazar la cadena "-mno-cygwin" por comillas vacías como se mencionó anteriormente, especialmente para GCC 4.3.7.

En Windows 7, cuando intento compilar pygraphviz, ejecuto

python setup.py build -c mingw32

yo obtengo

C: / MinGW / bin / gcc.exe -mno-cygwin -mdll -O -Wall "-IC: / Archivos de programa (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: error: opción de línea de comando no reconocida ''-mno-cygwin'' error: comando '' gcc ''falló con el estado de salida 1

¿De dónde viene ese ''-mno-cygwin''? El codeamiento en el directorio pygraphviz-1.1 no muestra ninguna aparición de "no-cygwin".


Ver esta respuesta: https://.com/a/6035864/1516291

En resumen, es posible que necesite modificar distutils/cygwinccompiler.py en su directorio de instalación de python para eliminar los rastros de -mno-cygwin .