【问题标题】:Problems with OpenCL (opencl.dll, AMD APP SDK, cl.h)OpenCL 的问题(opencl.dll、AMD APP SDK、cl.h)
【发布时间】:2015-12-15 12:06:35
【问题描述】:

我正在尝试在 Visual Studio 中使用 OpenCL,这就是困扰我的问题:

我有一个 ATI 显卡,所以我下载了 AMD APP SDK,最新版本 3.1,并想开始开发一些示例,但因为没有“cl.h”或 CL 文件夹而被卡住了开发工具包。我发现这很奇怪,因为在我看到的所有示例中包含的是:#include。然后我下载了一个旧版本,我认为它是 2.7.,并且还有一个带有 cl.h 文件的 CL 文件夹。然后,我还确保在项目属性中设置了所有库依赖项和包含目录,并且当我尝试运行现有 OpenCL 项目时,没有报告任何错误。但是,当程序启动时它崩溃了,因为它说“OpenCL.dll is missing”。我在 SDK 文件夹中查找了该文件,但它不存在。然后我从 Internet 下载了 opencl.dll 并将其复制到调试文件夹中并尝试再次启动该程序,但它再次崩溃并显示消息“Opencl.dll 不是设计为在 Windows 上运行或包含错误。”。

我真的迷路了,希望能得到任何帮助!

【问题讨论】:

  • 您是否将位于 C:\Program Files (x86)\AMD APP SDK\3.1\lib\x86_64 中的 opencl.lib 添加到项目的链接器属性中?如果你有这个文件夹链接到你的项目,你真的不需要 opencl.dll。
  • 是的,我做到了,控制台给了我这个错误。程序编译没有错误。

标签: c++ visual-c++ dll opencl


【解决方案1】:

理想情况下,您不应该明确下载“Opencl.dll”,它应该作为drivers 安装的一部分。头文件和 Lib 文件可以是 SDK 的一部分,但像“Opencl.dll”这样的运行时文件不一定是 SDK 的一部分。如果 SDK 文件(您用于应用程序的头文件和库)与运行时文件 (Opencl.dll) 之间不兼容,则可以观察到崩溃。

因此,请确保更新与您使用的 SDK 版本相对应的驱动程序。

此外,当您安装驱动程序时,opencl.dll 通常会放在“C:\Windows\System32”和“C:\Windows\SysWOW64”中。通常,这是在运行时使用的那个

【讨论】:

  • Amd 自动检测无法为我的卡找到驱动程序。太棒了:D
  • 这不太可能,那您是否尝试过手动选择驱动程序?你知道卡名/卡号吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-03
  • 1970-01-01
相关资源
最近更新 更多