我正在尝试通过使用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/