无法在Windows上构建OpenCL程序

时间:2011-02-16 16:00:47

标签: c++ windows opencl undefined-reference

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

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

我支持任何新手。谢谢你的回答!

1 个答案:

答案 0 :(得分:0)

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