0

我在 Linux 上编写了一个简单的“无所事事”OpenCL 应用程序(使用 C++,但使用 C API)来获取有关 OpenCL 速度的一些数据。它编译得很好并且运行没有错误。我没有支持 OpenCL 的显卡,但我需要在 GPU 上进行测试。我正在尝试使用 NVIDIA 的 CUDA 工具包提供的 OpenCL 实现在我朋友的 Windows 7 64 位计算机上构建应用程序。

当我尝试链接到 CUDA\x64 中的 OpenCL.lib 文件时,我得到程序中每个 OpenCL 调用的未定义引用(使用标准 C API)。当我链接到 system32 目录中的 OpenCL.dll 时,也会发生同样的事情。如果我链接到 CUDA Toolkit 附带的 win32 库,我不会收到错误,但 OpenCL 无法获取平台。我在链接时获得的所有未定义引用在符号名称的末尾都有一个@20 或@46 或一些随机数。我对 Windows 开发不够熟悉,不知道如何解决这个问题。我的问题可能是什么?

我为任何新手道歉。感谢您的任何回答!

4

1 回答 1

0

我相信您会想要使用不会出现链接错误的库。您遇到的其他错误是因为您将不匹配的代码链接在一起。然后专注于尝试确定您的平台标识符应该是什么。我认为你很接近但放弃得太早了

于 2011-02-16T16:29:48.293 回答