无法建立netifaces

我正在尝试为windows构建python netifaces。 我正在使用microsoft visual c ++ express 2010版。 当我运行命令python setup.py install时,我得到以下日志和错误:

running install running bdist_egg running egg_info writing netifaces.egg-info\PKG-INFO writing top-level names to netifaces.egg-info\top_level.txt writing dependency_links to netifaces.egg-info\dependency_links.txt reading manifest file 'netifaces.egg-info\SOURCES.txt' writing manifest file 'netifaces.egg-info\SOURCES.txt' installing library code to build\bdist.win32\egg running install_lib running build_ext building 'netifaces' extension c:\Program Files\Microsoft Visual Studio 10.0\VC\BIN\cl.exe /c /nologo /Ox /MD / W3 /GS- /DNDEBUG -DWIN32=1 -DNETIFACES_VERSION=0.8 -Ic:\python27\include -Ic:\py thon27\PC /Tcnetifaces.c /Fobuild\temp.win32-2.7\Release\netifaces.obj netifaces.c netifaces.c(410) : error C2275: 'PyObject' : illegal use of this type as an expr ession c:\python27\include\object.h(108) : see declaration of 'PyObject' netifaces.c(411) : error C2275: 'PyObject' : illegal use of this type as an expr ession c:\python27\include\object.h(108) : see declaration of 'PyObject' netifaces.c(720) : error C2275: 'PyObject' : illegal use of this type as an expr ession c:\python27\include\object.h(108) : see declaration of 'PyObject' netifaces.c(720) : error C2065: 'dict' : undeclared identifier netifaces.c(722) : error C2065: 'dict' : undeclared identifier netifaces.c(722) : warning C4047: '=' : 'int' differs in levels of indirection f rom 'PyObject *' netifaces.c(724) : error C2065: 'dict' : undeclared identifier netifaces.c(734) : error C2065: 'dict' : undeclared identifier netifaces.c(734) : warning C4047: 'function' : 'PyObject *' differs in levels of indirection from 'int' netifaces.c(734) : warning C4024: 'PyDict_SetItemString' : different types for f ormal and actual parameter 1 netifaces.c(736) : error C2065: 'dict' : undeclared identifier netifaces.c(736) : warning C4047: 'function' : 'PyObject *' differs in levels of indirection from 'int' netifaces.c(736) : warning C4024: 'PyDict_SetItemString' : different types for f ormal and actual parameter 1 netifaces.c(738) : error C2065: 'dict' : undeclared identifier netifaces.c(738) : warning C4047: 'function' : 'PyObject *' differs in levels of indirection from 'int' netifaces.c(738) : warning C4024: 'PyDict_SetItemString' : different types for f ormal and actual parameter 1 netifaces.c(744) : error C2065: 'dict' : undeclared identifier netifaces.c(744) : warning C4047: 'function' : 'PyObject *' differs in levels of indirection from 'int' netifaces.c(744) : warning C4024: 'add_to_family' : different types for formal a nd actual parameter 3 error: command '"c:\Program Files\Microsoft Visual Studio 10.0\VC\BIN\cl.exe"' f ailed with exit status 2 

抱歉格式不好我错过了什么?

将netifaces.c重命名为netifaces.cpp(并相应地更新setup.py)。

原因是,使用.c扩展名,MSVC将这些文件解释为遵守C89,netifaces.c不遵循; 更多信息: 错误C2275:非法使用此类型作为表达式