Я пытаюсь получить OpenCL, Qt и мой Mac (OS 10.9.5, 15 "Macbook Pro, начало 2011 года), чтобы все играли хорошо друг с другом одновременно. тускло следуя инструкции on the QtOpenCL snapshot site, но был встречен на ранней стадии сQtOpenCL не будет строить для Mac
Could not detect an OpenCL implementation ... aborting
я сделал некоторое рытье, и, видимо, все компьютеры Mac поставляется с предварительно загруженным с OpenCL, так как, как, 2007, и я никогда не пытался избавиться от всего настолько глубоко в системе, поэтому я знал, что это невозможно. После примерно 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.
Теперь, это не должно быть проблемой, за исключением того, что нет Makefile:
$ 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, и ни один из них, похоже, не содержит зависимостей .xcodeproj, хотя, кажется, файл отсутствует в пакете (он необходим для сборки, но не является частью загрузки). Кто-нибудь еще получит эту проблему/узнайте об обходном пути?
Редактировать: Решение для потомков: Оказывается, все, что мне нужно было сделать, это добавить OpenCl.framework
(обычно находится в /System/Library/Frameworks
) в качестве библиотеки в Qt Creator, но это только для того, чтобы открыть openCL для работы с Qt. Еще нет кубиков на QtOpenCL, но опять же, все вы действительно нужна библиотека openCL.
'cl.hpp' кажется заброшенным (и это не слишком велико). –
Я закончил с использованием cl.hpp. Все идет нормально. –
У cl.hpp есть некоторые недостающие функциональные возможности, такие как события (они похожи на версию C с использованием указателей вместо ссылки, а не на OO-совместимые), но в целом намного проще, чем рекомендуется использовать C, поэтому рекомендуется. – DarkZeros