【问题标题】:LINK: fatal error lnk1181: cannot open input file 'id=2.obj'链接:致命错误 lnk1181:无法打开输入文件 'id=2.obj'
【发布时间】:2017-02-17 21:54:20
【问题描述】:

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

有人可以帮我吗?

【问题讨论】:

    标签: python visual-studio-2015 linker-errors cudamat


    【解决方案1】:

    如果你有这个问题,我们可以假设之前的 cudamat.obj 和 cudamat_kernels.obj 编译是成功的。

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

    总之:

    1. 首先,您必须转到下载 Cudamat 的目录 (git clone https://github.com/cudamat/cudamat.git)。
    2. 将 cudamat 文件夹(您可以找到 cudamat.py、learn.py 和 init.py 的文件夹)复制到您的 python 站点包文件夹(您可以使用 python -c "import sys; print(sys.path)" 检查路径)
    3. 现在您必须进入该文件夹并手动编译 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 更改为 learn 并将 libcudamat.dll 更改为 libcudalearn.dll

    4. 这应该已经可以了,但如果不行,您必须调整您的 python 路径,以便它可以看到您的新库

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

    【讨论】:

      猜你喜欢
      • 2014-06-19
      • 2014-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-21
      • 2020-06-02
      • 2015-08-31
      • 1970-01-01
      相关资源
      最近更新 更多