skippin' cutilFunctions.c' Cython扩展(最新)

时间:2014-11-15 17:10:13

标签: python linux windows cython

我正在尝试从https://github.com/MTG/sms-tools/blob/master/README.md

编译文件

我遇到错误的文件代码行是:python compileModule.py build_ext --inplace

当我这样做时:PS C:\ sms-tools-master \ software \ models \ utilFunctions_C> python compileModule.py build_ext --inplace

我有这个:

running build_ext
Skipping  'cutilFunctions.c' Cython extension (up-to-date)
building 'utilFunctions_C' extension
C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -IC:\Python27\include -I
C:\Python27\lib\site-packages\numpy\core/include -IC:\Python27\include -IC:\Python27\PC /TcutilFunctions.c /Fobuild\temp.win32-2.7\Release\utilFunctions.obj
utilFunctions.c
utilFunctions.c(3) : warning C4305: 'initializing' : truncation from 'double' to 'const float'
utilFunctions.c(3) : warning C4305: 'initializing' : truncation from 'double' to 'const float'
utilFunctions.c(3) : warning C4305: 'initializing' : truncation from 'double' to 'const float'
utilFunctions.c(3) : warning C4305: 'initializing' : truncation from 'double' to 'const float'
utilFunctions.c(3) : warning C4305: 'initializing' : truncation from 'double' to 'const float'
utilFunctions.c(3) : warning C4305: 'initializing' : truncation from 'double' to 'const float'
utilFunctions.c(3) : warning C4305: 'initializing' : truncation from 'double' to 'const float'
utilFunctions.c(3) : warning C4305: 'initializing' : truncation from 'double' to 'const float'
utilFunctions.c(3) : warning C4305: 'initializing' : truncation from 'double' to 'const float'
utilFunctions.c(3) : warning C4305: 'initializing' : truncation from 'double' to 'const float'
utilFunctions.c(3) : warning C4305: 'initializing' : truncation from 'double' to 'const float'
utilFunctions.c(3) : warning C4305: 'initializing' : truncation from 'double' to 'const float'
utilFunctions.c(3) : warning C4305: 'initializing' : truncation from 'double' to 'const float'
utilFunctions.c(3) : warning C4305: 'initializing' : truncation from 'double' to 'const float'
utilFunctions.c(3) : warning C4305: 'initializing' : truncation from 'double' to 'const float'
utilFunctions.c(3) : warning C4305: 'initializing' : truncation from 'double' to 'const float'
utilFunctions.c(3) : warning C4305: 'initializing' : truncation from 'double' to 'const float'
utilFunctions.c(3) : warning C4305: 'initializing' : truncation from 'double' to 'const float'
utilFunctions.c(3) : warning C4305: 'initializing' : truncation from 'double' to 'const float'
utilFunctions.c(3) : warning C4305: 'initializing' : truncation from 'double' to 'const float'
utilFunctions.c(3) : warning C4305: 'initializing' : truncation from 'double' to 'const float'
utilFunctions.c(3) : warning C4305: 'initializing' : truncation from 'double' to 'const float'
utilFunctions.c(3) : warning C4305: 'initializing' : truncation from 'double' to 'const float'
utilFunctions.c(3) : warning C4305: 'initializing' : truncation from 'double' to 'const float'
utilFunctions.c(3) : warning C4305: 'initializing' : truncation from 'double' to 'const float'

。 。 。

同样的事情 。 。

utilFunctions.c(106) : warning C4244: '=' : conversion from 'double' to 'int', possible loss of data
utilFunctions.c(194) : warning C4244: '=' : conversion from 'double' to 'float', possible loss of data
utilFunctions.c(195) : warning C4244: '=' : conversion from 'double' to 'float', possible loss of data
utilFunctions.c(200) : warning C4244: '=' : conversion from 'double' to 'float', possible loss of data
utilFunctions.c(210) : warning C4244: '=' : conversion from 'double' to 'float', possible loss of data
utilFunctions.c(234) : warning C4244: '=' : conversion from 'double' to 'float', possible loss of data
C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -IC:\Python27\include -I
C:\Python27\lib\site-packages\numpy\core/include -IC:\Python27\include -IC:\Python27\PC /TccutilFunctions.c /Fobuild\tem
p.win32-2.7\Release\cutilFunctions.obj
cutilFunctions.c
c:\python27\lib\site-packages\numpy\core\include\numpy\npy_1_7_deprecated_api.h(12) : Warning Msg: Using deprecated NumP
y API, disable it by #defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION
C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\link.exe /DLL /nologo /INCREMENTAL:NO /LIBPATH:C:\Python27\libs /LIB
PATH:C:\Python27\PCbuild m.lib /EXPORT:initutilFunctions_C build\temp.win32-2.7\Release\utilFunctions.obj build\temp.win
32-2.7\Release\cutilFunctions.obj /OUT:C:\sms-tools-master\software\models\utilFunctions_C\utilFunctions_C.pyd /IMPLIB:b
uild\temp.win32-2.7\Release\utilFunctions_C.lib /MANIFESTFILE:build\temp.win32-2.7\Release\utilFunctions_C.pyd.manifest
LINK : fatal error LNK1181: cannot open input file 'm.lib'
error: command 'C:\\Program Files\\Microsoft Visual Studio 9.0\\VC\\BIN\\link.exe' failed with exit status 1181

非常感谢你的帮助。我很长时间以来一直在托管这个问题。

1 个答案:

答案 0 :(得分:1)

这个问题也在这里得到解决: Problems with compiling C code in Python

解决方案是通过排除compileModule.py库来更改m;

setup(
cmdclass = {'build_ext': build_ext},
#ext_modules = [Extension("utilFunctions_C",sourcefiles, libraries=['m'], include_dirs=py_inc + np_inc)]
ext_modules = [Extension("utilFunctions_C",sourcefiles , include_dirs=py_inc + np_inc)]
)