0

我正在研究 GPU 上的计算机视觉问题,我正在尝试使用 openCV 来解决。我使用 Cmake 完成安装,然后使用 Visual Studio 2008 构建项目。然后我在 Visual Studio 2008 中编写了一个小程序来测试 openCV 安装,然后构建项目。该项目构建得非常好,但是当我尝试运行程序(ctrl+F5)时,屏幕上出现一条消息,提示

“程序无法启动,因为您的计算机中缺少 cudart32_42_9.dll。请尝试重新安装程序以解决问题。”

这个错误是关于什么的,如何正确运行带有 cuda 程序的 openCV 而不会出现任何错误?我有一个项目的最后期限,我无法在最后 4 天内完成这项工作。这太令人沮丧了。现在一切都已正确安装,但最终这件事让我发疯了。如果有人能帮助我解决这个问题并指导我正确运行带有 cuda 的 openCV,我将非常高兴和感激。感谢您的所有帮助。

4

1 回答 1

2

该问题可以通过找到 cudard32_42_9.dll 文件来解决(cudart32 和 cudart64 文件都将包含在 SDK 或示例中,但是 cuda 工具包中只有一个文件,具体取决于您加载的是 32 位还是 64 位工具包)和然后将该文件复制到与您尝试运行的程序相同的位置。我相信这个困难的原因是使用 64 位 Windows,并安装 64 位 takeit,只有 64 位 cudart 版本被安装到 Windows 的适当 dll 加载路径。如果您构建应用程序并将其链接到 32 位 cudart 库,则相应的 32 位 cudart dll 将不会自动位于正确的加载路径上。但是可执行文件的位置始终在该可执行文件的 dll 加载路径上,因此可以将 cudart dll 文件放置在那里作为解决方法。

于 2012-11-22T20:28:16.517 回答