python无法打开kernel32.lib_在 Windows x64致命错误C1083中,python 运行 Cython: 无法打开包含 file:'basetsd.h': 此文件或目录不存在...

当在Windows x64系统上使用Python运行Cython时,遇到无法打开'kernel32.lib'的问题,可以尝试通过修改setup.py文件配置来构建64位Cython。本文提供了具体的Visual Studio和Microsoft SDK路径设置,包括CL_EXE、LINK_EXE、CL_FLAGS、LINK_FLAGS等,并提到了可选的库MSVCRT.lib和kernel32.lib。
摘要由CSDN通过智能技术生成

您可以尝试使用setup.py来构建cython 64位

我使用Anaconda作为python发行版,Microsoft SDK 7的Windopws和MSVC 12.0.

生成文件CL_EXE ="C:Program Files (x86)Microsoft Visual Studio 12.0VCbinamd64cl.exe"

LINK_EXE ="C:Program Files (x86)Microsoft Visual Studio 12.0VCbinamd64link.exe"

CL_FLAGS = /c /nologo /Ox /MD /W3 /GS- /DNDEBUG /O2 /fp:fast

CL_INC = -I. -I"C:Program FilesMicrosoft SDKsWindowsv7.1Include"

-I"C:Program Files (x86)Microsoft Visual Studio 12.0VCinclude" -IC:UsersnameAnaconda2envspy27Libsite-packagesnumpycoreinclude -IC:UsersnameAnaconda2envspy27include -IC:UsersnameAnaconda2envspy27PC

LINK_FLAGS = /DLL /nologo /INCREMENTAL:NO /MACHINE:X64

LINK_LIBPATH ="/LIBPATH:C:Program FilesNVIDIA GPU Computing ToolkitCUDAv7.5libx64"

/LIBPATH:C:UsersnameAnaconda2envspy27libs

/LIBPATH:C:UsersnameAnaconda2envspy27PCbuildamd64

/LIBPATH:C:UsersnameAnaconda2envspy27PCVS9.0amd64

"/LIBPATH:C:Program Files (x86)Microsoft Visual Studio 12.0VClibamd64"

"/LIBPATH:C:Program FilesMicrosoft SDKsWindowsv7.1Libx64"

LINK_LIB = cuda_multiply4D.lib cudart.lib MSVCRT.lib kernel32.lib

LINK_EXPORT = /EXPORT:initmy_cuda

LINK_OBJ = buildtemp.win-amd64-2.7Releasemy_cuda.obj

LINK_OUT ="/OUT:E:my_cuda.pyd"

LINK_OTHER_CONF = /IMPLIB:buildtemp.win-amd64-2.7Releasemy_cuda.lib /MANIFESTFILE:buildtemp.win-amd64-2.7Releasemy_cuda.pyd.manifest

all:

$(CL_EXE) $(CL_FLAGS) $(CL_INC) /Tcmy_cuda.c /Fobuildtemp.win-amd64-2.7Releasemy_cuda.obj

$(LINK_EXE) $(LINK_FLAGS) $(LINK_LIBPATH) $(LINK_LIB) $(LINK_EXPORT) $(LINK_OBJ) $(LINK_OUT) $(LINK_OTHER_CONF)

注:MSVCRT.lib kernel32.lib是可选的,

未定义

用于确定输出位置,文件名及它扩展名的"/OUT:E:my_cuda.pyd"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值