【发布时间】:2012-03-14 18:40:11
【问题描述】:
我正在尝试使用以下命令通过命令提示符在 Windows 7 x64 上编译 CUDA 测试程序:
nvcc cuda.cu
我得到以下输出,然后是这个错误消息:
cuda.cu
tmpxft_00000d14_00000000-3_cuda.cudafe1.gpu
tmpxft_00000d14_00000000-8_cuda.cudafe2.gpu
cuda.cu
tmpxft_00000d14_00000000-3_cuda.cudafe1.cpp
tmpxft_00000d14_00000000-14_cuda.ii
LINK : fatal error LNK1104: cannot open file 'kernel32.lib'
我在 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Lib 中有 kernel.lib 文件,但将其添加到 CUDA lib 环境变量不起作用。
什么会导致这个错误,我该如何纠正它?
【问题讨论】:
-
尝试添加“-machine 32”作为参数
-
试过了@Jay 它说 nvcc fatal : 'achine': 期望一个数字。然后尝试“--machine 32”仍然给出,LINK:致命错误LNK1104:无法打开文件'kernel32.lib'
-
-m64 怎么样,因为您使用的是 64 位操作系统?
-
试过了@harrism 它给出了同样的错误。
-
实际上,您需要一个主机编译器来构建 CUDA 代码,因此即使库位置正确,您也可能无法构建。请参阅 CUDA 发行说明。