Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
cython-在windows下使用c99函数_Windows_Python 2.7_Cython_C99 - Fatal编程技术网

cython-在windows下使用c99函数

cython-在windows下使用c99函数,windows,python-2.7,cython,c99,Windows,Python 2.7,Cython,C99,我正在使用Cython来加速我的一些Python代码。我以前成功地使用过它。但是现在我需要在.pyx文件中从libc.math导入一些函数 from libc.math cimport lgamma, exp, log 当我尝试构建文件时,会出现以下错误 > python setup.py build_ext -i 运行build_ext cythong tradeclass.pyx到tradeclass.c 构建“tradeclass”扩展 C:\Usjs\js\AppDATAB\

我正在使用Cython来加速我的一些Python代码。我以前成功地使用过它。但是现在我需要在.pyx文件中从libc.math导入一些函数

from libc.math cimport lgamma, exp, log
当我尝试构建文件时,会出现以下错误

> python setup.py build_ext -i
运行build_ext

cythong tradeclass.pyx到tradeclass.c

构建“tradeclass”扩展

C:\Usjs\js\AppDATAB\Studio程序\Cube \微软\ Visual C++ Python\9.0\VC\Bin\amd64\cl.exe/c/nologo/Ox/MD/W3/GS-/DNDEBU G

tradeclass.c(4969):警告C4013:“lgamma”未定义;假设外部返回int

< Py> \js\AppDATAB\\Studio\Cuth\\\\\\\\\\\\\\\\v\\bin \AMD64 \ Link .EX/DLL/NORNO/增量:NO/LIB的微软\ VisualC++ 路径:C:\Users\js\AppData\Local\Continuum\Anaconda2\libs/LIBPATH:C:\Users\js\AppData\Local\Continuum\Anaconda2\PCbuild\amd64/ LIBPATH:C:\Users\js\AppData\Local\Continuum\Anaconda2\PC\VS9.0\amd64/EXPORT:inittradeclass build\temp.win-amd64-2.7\Release\tradecla ss.obj“/OUT:h:\Classification\Classification Algos\My algobeta dist\tradeclass.pyd”/IMPLIB:build\temp.win-amd64-2.7\Release\tradecl ass.lib/MANIFESTFILE:build\temp.win-amd64-2.7\Release\tradeclass.pyd.manifest

创建库构建\temp.win-amd64-2.7\Release\tradeclass.lib和对象构建\temp.win-amd64-2.7\Release\tradeclass.exp tradeclass.obj:错误LNK2019:函数uu pyx_f_10tradeclass_betapdf中引用的未解析外部符号lgamma

如果我的pyx脚本中没有lgamma函数,则文件的生成不会出现任何错误。经过广泛的搜索,我发现libc.math中的C99函数(lgamma所属)在Windows下工作时存在问题(我使用的是Windows 7)

为什么会这样?更重要的是,我可以做些什么,以便在pyx脚本中使用lgamma


(我使用python是作为一名科学家,而不是开发人员,因此我对计算机和操作系统的内部工作原理的了解非常有限,在这些领域使用的术语词汇也非常有限。)

lgama
和其他C99函数是在2013年左右添加的。Visual C++ 9来自2008(ISH)。因此它不受支持。你也许可以使用一个后来版本的VisualC++,或者使用明文GCC编译器,但是这两种都有它们自己的并发症,我不能告诉你如何安装它们。<代码> ScPy.特殊的.GAMALN < /C>什么地方出错?感谢在Visual Studio中C99函数的释放时间的信息。建议使用构建python时使用的VS版本。因此,我似乎必须更新到Python 3.5,才能在2013年之后使用VS版本。顺便说一句,我不能从scipy使用gammaln,因为我需要在cython代码中的一个循环中使用该函数,这会大大降低它的速度。我会首先尝试寻找
lgamma
的其他实现。一种选择是复制scipy用于实现其()的Cython代码。您还需要复制一些依赖项。
lgama
和其他C99函数是在2013年左右添加的。Visual C++ 9来自2008(ISH)。因此它不受支持。你也许可以使用一个后来版本的VisualC++,或者使用明文GCC编译器,但是这两种都有它们自己的并发症,我不能告诉你如何安装它们。<代码> ScPy.特殊的.GAMALN < /C>什么地方出错?感谢在Visual Studio中C99函数的释放时间的信息。建议使用构建python时使用的VS版本。因此,我似乎必须更新到Python 3.5,才能在2013年之后使用VS版本。顺便说一句,我不能从scipy使用gammaln,因为我需要在cython代码中的一个循环中使用该函数,这会大大降低它的速度。我会首先尝试寻找
lgamma
的其他实现。一种选择是复制scipy用于实现其()的Cython代码。您还需要复制一些依赖项。