我在 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 开发不够熟悉,不知道如何解决这个问题。我的问题可能是什么?
我为任何新手道歉。感谢您的任何回答!