我正在尝试通过使用VS2015 x64本机工具命令提示符在Windows 10中编译cudamat。我已经安装了Cuda工具包8以及带有MSVC编译器的Visual Studio 2015。下载cudamat之后,我在该目录中给出了以下命令:


  python setup.py安装


当它尝试构建cudamat.libcudamat扩展名时,链接器出现以下错误:


  严重错误lnk1181:无法打开输入文件'id = 2.obj'
  
  错误:命令“ C:\ Program Files \ NVIDIA GPU Computing Toolkit \ CUDA \ v8.0 \ bin \ nvcc.exe”失败,退出状态为2


有人可以帮我吗?

最佳答案

如果您有此问题,我们可以假设cudamat.obj和cudamat_kernels.obj的较早编译是成功的。

要使其正常工作,您必须按照here所述手动进行操作。

总而言之:


首先,您必须转到下载了Cudamat的目录(git clone https://github.com/cudamat/cudamat.git)。
将cudamat文件夹(可以在其中找到cudamat.py,learn.py和init.py的文件夹)复制到python site-packages文件夹(您可以使用python -c "import sys; print(sys.path)"检查路径)
现在,您将必须转到此文件夹并手动编译dll。为此,您必须执行一些命令:

nvcc -c -O -o cudamat.obj cudamat.cu

nvcc -c -O -o cudamat_kernels.obj cudamat_kernels.cu

nvcc --shared -o libcudamat.dll cudamat.obj cudamat_kernels.obj -lcublas

然后重复此过程,将cudamat更改为学习,并将libcudamat.dll更改为libcudalearn.dll
这应该已经可以工作了,但是如果没有的话,就必须调整python路径,以便它可以看到新的库


或者,您也可以尝试:pip install http://github.com/f0k/cudamat/archive/simplify-compile.zip

关于python - 链接:致命错误lnk1181:无法打开输入文件'id = 2.obj',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39941971/

10-13 07:00