2015-02-26 2 views
1

Я пытаюсь получить 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.

ответ

2

Из чего я могу сказать, QtOpenCL заброшен. Я рекомендую писать в OpenCL API (если вам нравится C) или использовать оболочку cl.hpp C++ (если вам нравится C++) (она доступна на веб-сайте Khronos).

Вы все еще можете использовать Qt для всего, что он предоставляет. Они могут работать вместе.

+0

'cl.hpp' кажется заброшенным (и это не слишком велико). –

+0

Я закончил с использованием cl.hpp. Все идет нормально. –

+0

У cl.hpp есть некоторые недостающие функциональные возможности, такие как события (они похожи на версию C с использованием указателей вместо ссылки, а не на OO-совместимые), но в целом намного проще, чем рекомендуется использовать C, поэтому рекомендуется. – DarkZeros

Смежные вопросы