从命令提示符编译CUDA时链接错误

时间:2012-02-24 09:50:17

标签: linker cuda nvidia

我正在尝试使用此命令通过命令提示符在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环境变量不起作用。

导致此错误的原因是什么?如何纠正?

1 个答案:

答案 0 :(得分:2)

您不应在环境变量中指定MS lib位置。您需要使用'-L'命令行选项,如

nvcc <file> -L"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Lib"

您可能真的需要安装Visual Studio,因为您需要一个主机编译器来构建您的主机代码。