有人设法使用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]*"


有谁知道如何以更清洁的方式解决此问题?

最佳答案

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


修改.pro文件以添加OpenCL库。对我来说,这仍然是一个未解决的问题。如何以更清洁的方式解决此问题?
将项目(opencl.pro和openclgl.pro)链接到附加的所需Qt模块QtConcurrent:

QT + =并发
通过删除软件包来修复#include样式,例如#include <qtconcurrentrun.h>而不是旧的#include<QtCore/qtconcurrentrun.h>
通过分别用std :: malloc,std :: free,std :: memcpy替换qMalloc,qfree,qMemCopy来修复qclvector.cpp

此外,将构造函数中ref的初始化从ref = 1修改为ref.store(1);。
删除所有宏QT_LICENSED_MODULE


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

关于opencl - 用QT5编译QtOpenCL,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15678864/

10-12 03:46