1

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

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

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

4

3 回答 3

5

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

然后再次尝试您的样品。

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

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

于 2009-11-19T10:29:48.533 回答
1

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

于 2009-11-18T06:42:06.157 回答
1

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

于 2010-11-21T22:59:01.480 回答