2

有人设法使用 Qt5(可能在 Window 下)编译QtOpenCL库吗?

编辑:我设法通过将代码移植到 QT5 来编译代码。我在问题中留下了我想在我的方法中替换的脏部分,并描述了我在答案中做了什么。

我无法提供我的 opencl 安装的包含路径,所以我

通过添加行手动修改 src/opencl/opencl.pro

INCLUDEPATH += " *[absolute path to the openCL include folder]* "
QMAKE_LIBDIR_OPENCL = "*[absolute path to the opencl lib folder]*"

通过添加行手动修改 src/openclgl/openclgl.pro

INCPATH += " *[absolute path to the openCL include folder]* "
QMAKE_LIBDIR_OPENCL = "*[absolute path to the opencl lib folder]*"

任何人都知道如何以更清洁的方式解决此问题?

4

1 回答 1

6

以下是我必须介绍的更改:

  1. 修改 .pro 文件以添加 OpenCL 库。这对我来说仍然是一个悬而未决的问题。如何以更清洁的方式解决此问题?

  2. 将项目(opencl.pro 和 openclgl.pro)链接到额外的 Qt 模块 QtConcurrent:

    QT += 并发

  3. 通过删除包来修复#include 样式,例如,#include <qtconcurrentrun.h> 而不是旧的#include <QtCore/qtconcurrentrun.h>

  4. 通过分别将 qMalloc、qfree、qMemCopy 替换为 std::malloc、std::free、std::memcpy 来修复 qclvector.cpp

    此外,将构造函数中 ref 的初始化从 ref = 1 修改为 ref.store(1);

  5. 删除所有宏QT_LICENSED_MODULE

这足以使用 QT5 至少编译 QtOpenCL 和 QtOpenCLGL

于 2013-03-28T11:31:14.970 回答