CUDA编译中的错误

时间:2009-11-18 06:27:56

标签: cuda

尝试在CUDA SDK中运行示例代码时出现此错误。我有CUDA 2.3和Visual Studio 2008

LINK:致命错误LNK1181:无法打开输入文件'cutil32D.lib'

任何指针如何解决这个问题?

3 个答案:

答案 0 :(得分:5)

由于您正在编译SDK示例,因此项目文件可能是正确的。您更有可能没有构建cutil库。转到SDK安装目录,然后进入“C”目录。您将看到一个“公共”目录,在那里打开cutil.sln解决方案(或VS2008的cutil_vc90.sln)并在您的平台的发布和调试模式下构建它。

然后再试一次。

cutil库用于避免在所有示例中复制相同的代码,如果您正在启动自己的项目,我将避免重用cutil库并编写自己的检查程序。例如,如果您检测到CUDA错误而不是像在cutil中那样调用exit(),那么您可能应该优雅地失败。

强烈建议使用SDK中包含的cuda.rules文件!使用它你可以将.cu文件添加到任何项目中,Visual Studio将知道如何编译它们并将它们链接到最终的可执行文件。简单!

答案 1 :(得分:1)

您的MSVC项目需要包含要链接的库cutil32D.lib。一旦将其指定为库,链接器就需要包含在最终的二进制工件中,这个问题就会消失。在链接器要查找它的位置似乎缺少库。您必须更改库搜索路径或将该文件移动到链接器已在其中查找的目录。

答案 2 :(得分:1)

我遇到了同样的问题。事实证明,我不仅需要构建cutil项目,还需要在SDK的共享文件夹下构建shrUtils项目。