我在尝试在CUDA SDK中运行示例代码时出现此错误。我有CUDA 2.3和Visual Studio 2008CUDA编译错误
LINK:致命错误LNK1181:无法打开输入文件 'cutil32D.lib'
任何指针如何解决此问题?
我在尝试在CUDA SDK中运行示例代码时出现此错误。我有CUDA 2.3和Visual Studio 2008CUDA编译错误
LINK:致命错误LNK1181:无法打开输入文件 'cutil32D.lib'
任何指针如何解决此问题?
您的MSVC项目需要包含库链接cutil32D.lib
。一旦你将它指定为一个库,链接器需要包含在最终的二进制文件中,这个问题就会消失。似乎图书馆在链接器将要查找的位置丢失。您必须更改库搜索路径或将该文件移动到链接器已经查找的目录中。
由于您正在编译SDK示例,所以项目文件可能是正确的。更有可能的是,你还没有建立cutil库。转到SDK安装目录,然后进入“C”目录。你会看到一个“公共”目录,在那里打开cutil.sln解决方案(或VS2008的cutil_vc90.sln),并在你的平台的发布和调试模式下构建它。
然后再次尝试您的示例。
cutil库用于避免通过所有示例复制相同的代码,如果您开始自己的项目,我会避免重复使用cutil库并编写自己的检查器。例如,如果您检测到CUDA错误,而不是像在cutil中完成的那样调用exit(),您可能应该优雅地失败。
强烈推荐SDK中包含的cuda.rules文件!使用这个,您可以将.cu文件添加到任何项目,Visual Studio将知道如何编译它们并将它们链接到最终的可执行文件中。简单!
我遇到了同样的问题。事实证明,我不仅需要构建cutil项目,还需要在SDK的共享文件夹下创建shrUtils项目。
如何在Visual Studio 2008中做到这一点? – emkrish 2009-11-18 08:12:50
emkrish, 打开您的Visual Studio项目的属性,单击链接器,将路径添加到“其他库目录” 阅读Visual Studio帮助文档:http://msdn.microsoft.com/en-us/library /1xhzskbe.aspx – 2009-11-18 17:27:12