【问题标题】:Cannot build OpenCL program on Windows无法在 Windows 上构建 OpenCL 程序
【发布时间】:2011-06-28 11:18:51
【问题描述】:

我在 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 开发不够熟悉,不知道如何解决这个问题。我的问题可能是什么?

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

【问题讨论】:

    标签: c++ windows opencl undefined-reference


    【解决方案1】:

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

    【讨论】:

    • 谢谢,我会尝试这样做,但是“不匹配的代码”到底是什么意思?
    猜你喜欢
    • 2017-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-26
    • 2019-09-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多