我正在尝试编译一个可以使用nvcc从python调用的库。通常在windows上,我使用msys/mingw工具链,可以毫无问题地编译python扩展。但是,当我尝试使用nvcc编译时,我相信它使用的是链接.exe它是(Microsoft Visual Studio的一部分)。虽然它编译得很好,但在链接步骤失败了。在
我意识到我使用的是python的旧版本(2.5版)。我正在处理一个遗留的应用程序,目前我仍在使用旧版本。在
下面是我正在尝试的nvcc命令:
nvcc -I "C:\Python25\include" -I "C:\python25\Lib\site-packages\numpy\core\include\numpy" -L "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.0\lib\x64" -lcusolver -lcusparse -Xlinker "C:\Python25\libs\python25.lib" cusolve5.cu
但它失败的原因是:
^{pr2}$在我看来找不到python库。使用msys/mingw,我可以链接类似的库:
g++ bmc.o -L "/c/python25/libs" -lpython25 -shared -o bmc.pyd
它工作得很好(但不包括我正在研究的任何GPU加速)。我想我需要通过一些选择链接.exe通过-Xlinker命令,但我似乎找不到在构建时包含python库的方法。在
多亏了@talonmies的提示,我得出结论,我要做的事情是不可能的,原因有两个:
不过,这可以通过使用ctypes加载dll而不是标准的python导入来解决。然而。。。在
相关问题 更多 >
编程相关推荐