在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目录进行greping显示没有出现" no-cygwin"。
答案 0 :(得分:18)
请参阅此答案:https://stackoverflow.com/a/6035864/1516291
简而言之,您可能需要修改python安装目录中的distutils\cygwinccompiler.py
以删除-mno-cygwin
的痕迹。
答案 1 :(得分:3)
通过在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。