QtOpenCL 不会为 Mac 构建
QtOpenCL won't build for Mac
我正在尝试让 OpenCL、Qt 和我的 Mac(OS 10.9.5、15" Macbook Pro,2011 年初)都能很好地与一次彼此。我开始时模模糊糊地按照说明 on the QtOpenCL snapshot site,但很早就遇到了
Could not detect an OpenCL implementation ... aborting
我做了一些挖掘,显然,从 2007 年开始,所有 Macs 都预装了 OpenCL,而且我从来没有试图摆脱系统中这么深的东西,所以我知道那是不对的。经过大约 7 个小时的谷歌搜索,我找到了 this,之后我在 ./configure 中注释掉了一些测试代码(每个线程)。它不再假装没有 OpenCL 框架,而是:
$ ./configure -qmake /usr/bin/qmake
This is the QtOpenCL configuration utility.
Qt version ............. 4.8.6
qmake .................. /usr/bin/qmake
OpenCL 1.0 ............. no
OpenCL 1.1 ............. no
OpenCL/OpenGL interop .. no
Extra QMAKE_CXXFLAGS ...
Extra INCLUDEPATH ......
Extra LIBS ............. -framework OpenCL
WARNING: Ignored (not found) '~/qt-labs-opencl/src/opencl/QtOpenCL.xcodeproj'
WARNING: Ignored (not found) '~/qt-labs-opencl/src/openclgl/QtOpenCLGL.xcodeproj'
WARNING: Ignored (not found) '~/qt-labs-opencl/demos/mandelbrot/mandelbrot.xcodeproj'
WARNING: Ignored (not found) '~/qt-labs-opencl/demos/bezierpatch/bezierpatch.xcodeproj'
WARNING: Ignored (not found) '~/qt-labs-opencl/util/clinfo/clinfo.xcodeproj'
WARNING: Ignored (not found) '~/qt-labs-opencl/util/mkblurtable/mkblurtable.xcodeproj'
WARNING: Ignored (not found) '~/qt-labs-opencl/examples/opencl/vectoradd/vectoradd.xcodeproj'
WARNING: Ignored (not found) '~/qt-labs-opencl/examples/opencl/blur/blur.xcodeproj'
WARNING: Ignored (not found) '~/qt-labs-opencl/examples/opencl/pathdrawing/pathdrawing.xcodeproj'
WARNING: Ignored (not found) '~/qt-labs-opencl/examples/opencl/imagedrawing/imagedrawing.xcodeproj'
WARNING: Ignored (not found) '~/qt-labs-opencl/examples/opencl/colorize/colorize.xcodeproj'
WARNING: Ignored (not found) '~/qt-labs-opencl/tests/auto/qcl/tst_qcl.xcodeproj'
WARNING: Ignored (not found) '~/qt-labs-opencl/tests/benchmarks/mandelbrot/mandelbrot.xcodeproj'
WARNING: Ignored (not found) '~/qt-labs-opencl/tests/benchmarks/overhead/overhead.xcodeproj'
QtOpenCL has been configured. Run '/usr/bin/make' to build.
现在,这应该不是问题,只是没有生成文件:
$ make
make: *** No targets specified and no makefile found. Stop.
说真的:
$ls
LGPL_EXCEPTION.txt README doc
opencl.xcodeproj
LICENSE.FDL config.tests examples src
LICENSE.LGPL configure opencl.pro tests
LICENSE.PREVIEW.COMMERCIAL demos opencl.pro.user
util
我查看了树中的所有 .pro 文件,从 opencl.pro 开始,其中 none 似乎包含 .xcodeproj 依赖项,尽管似乎确实存在包中缺少文件(构建需要它,但不是下载的一部分)。还有其他人得到这个 problem/know 的解决方法吗?
编辑:为后代解决方案:原来我所要做的就是添加 OpenCl.framework
(通常位于 /System/Library/Frameworks
)作为 Qt Creator 中的库,但这只是为了让 openCL使用 Qt。 QtOpenCL 仍然没有骰子,但话又说回来,您真正 需要的是 openCL 库。
据我所知,QtOpenCL 已被放弃。我建议写入 OpenCL API(如果您喜欢 C)或使用 cl.hpp C++ 包装器(如果您喜欢 C++)(可从 Khronos 网站获得)。
您仍然可以将 Qt 用于它提供的所有其他功能。他们可以一起工作。
我正在尝试让 OpenCL、Qt 和我的 Mac(OS 10.9.5、15" Macbook Pro,2011 年初)都能很好地与一次彼此。我开始时模模糊糊地按照说明 on the QtOpenCL snapshot site,但很早就遇到了
Could not detect an OpenCL implementation ... aborting
我做了一些挖掘,显然,从 2007 年开始,所有 Macs 都预装了 OpenCL,而且我从来没有试图摆脱系统中这么深的东西,所以我知道那是不对的。经过大约 7 个小时的谷歌搜索,我找到了 this,之后我在 ./configure 中注释掉了一些测试代码(每个线程)。它不再假装没有 OpenCL 框架,而是:
$ ./configure -qmake /usr/bin/qmake
This is the QtOpenCL configuration utility.
Qt version ............. 4.8.6
qmake .................. /usr/bin/qmake
OpenCL 1.0 ............. no
OpenCL 1.1 ............. no
OpenCL/OpenGL interop .. no
Extra QMAKE_CXXFLAGS ...
Extra INCLUDEPATH ......
Extra LIBS ............. -framework OpenCL
WARNING: Ignored (not found) '~/qt-labs-opencl/src/opencl/QtOpenCL.xcodeproj'
WARNING: Ignored (not found) '~/qt-labs-opencl/src/openclgl/QtOpenCLGL.xcodeproj'
WARNING: Ignored (not found) '~/qt-labs-opencl/demos/mandelbrot/mandelbrot.xcodeproj'
WARNING: Ignored (not found) '~/qt-labs-opencl/demos/bezierpatch/bezierpatch.xcodeproj'
WARNING: Ignored (not found) '~/qt-labs-opencl/util/clinfo/clinfo.xcodeproj'
WARNING: Ignored (not found) '~/qt-labs-opencl/util/mkblurtable/mkblurtable.xcodeproj'
WARNING: Ignored (not found) '~/qt-labs-opencl/examples/opencl/vectoradd/vectoradd.xcodeproj'
WARNING: Ignored (not found) '~/qt-labs-opencl/examples/opencl/blur/blur.xcodeproj'
WARNING: Ignored (not found) '~/qt-labs-opencl/examples/opencl/pathdrawing/pathdrawing.xcodeproj'
WARNING: Ignored (not found) '~/qt-labs-opencl/examples/opencl/imagedrawing/imagedrawing.xcodeproj'
WARNING: Ignored (not found) '~/qt-labs-opencl/examples/opencl/colorize/colorize.xcodeproj'
WARNING: Ignored (not found) '~/qt-labs-opencl/tests/auto/qcl/tst_qcl.xcodeproj'
WARNING: Ignored (not found) '~/qt-labs-opencl/tests/benchmarks/mandelbrot/mandelbrot.xcodeproj'
WARNING: Ignored (not found) '~/qt-labs-opencl/tests/benchmarks/overhead/overhead.xcodeproj'
QtOpenCL has been configured. Run '/usr/bin/make' to build.
现在,这应该不是问题,只是没有生成文件:
$ make
make: *** No targets specified and no makefile found. Stop.
说真的:
$ls
LGPL_EXCEPTION.txt README doc
opencl.xcodeproj
LICENSE.FDL config.tests examples src
LICENSE.LGPL configure opencl.pro tests
LICENSE.PREVIEW.COMMERCIAL demos opencl.pro.user
util
我查看了树中的所有 .pro 文件,从 opencl.pro 开始,其中 none 似乎包含 .xcodeproj 依赖项,尽管似乎确实存在包中缺少文件(构建需要它,但不是下载的一部分)。还有其他人得到这个 problem/know 的解决方法吗?
编辑:为后代解决方案:原来我所要做的就是添加 OpenCl.framework
(通常位于 /System/Library/Frameworks
)作为 Qt Creator 中的库,但这只是为了让 openCL使用 Qt。 QtOpenCL 仍然没有骰子,但话又说回来,您真正 需要的是 openCL 库。
据我所知,QtOpenCL 已被放弃。我建议写入 OpenCL API(如果您喜欢 C)或使用 cl.hpp C++ 包装器(如果您喜欢 C++)(可从 Khronos 网站获得)。
您仍然可以将 Qt 用于它提供的所有其他功能。他们可以一起工作。