![]() |
|
|
![]()
|
|
| borisbn |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 48 Всего: 135 |
Добрый день. Хочу использовать QtOpenCL под Windows.
Скачал QtOpenCL из http://qt.gitorious.org/qt-labs/opencl Прочитал и сделал как в http://doc.qt.nokia.com/opencl-snapshot/building.html а именно: создал такой cmd-файл:
выдаются ошибки:
Если кто-нибудь сталкивался с подобным - плиз хелп. Спасибо. Это сообщение отредактировал(а) borisbn - 16.11.2010, 19:57 -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
||||
|
|||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 16 Всего: 92 |
И это всё? Выше ничего нету?!
|
|||
|
||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 48 Всего: 135 |
есть, конечно, но там 1) IMHO что-то невразумительное 2) это - первое сообщение об ошибке. Завтра с утра отправлю ещё вывод nmake'а
кстати, забыл сказать, что если в студии открыть qtopencl.pro и откомпилировать, то debug'овая dll-ка собирается, а release'ная и ( самое главное ) документация - нет. -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| borisbn |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 48 Всего: 135 |
Делаю:
Получаю (nmake.err):
А в консоль выводится:
-------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
||||||
|
|||||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 16 Всего: 92 |
Похоже, что у тебя для QGLSignalProxy dllimport/dllexport криво стоит. Раз в дебаге собирается - может там какие-то макросы для этого используются и дефайны криво стоят?
|
|||
|
||||
| borisbn |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 48 Всего: 135 |
похоже, но что это такое ( QGLSignalProxy ) и где ему выставлять dllimport/dllexport - не имею ни малейшего понятия. Сама Qt у меня нормально собирается.
честно говоря, не понял. где там и где дефайны криво стоят ? я ведь просто делаю:
P.S. Версия Qt 4.6.3 Это сообщение отредактировал(а) borisbn - 17.11.2010, 12:07 -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
||||||
|
|||||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 16 Всего: 92 |
В glproxy.h. В строке декларации класса QGLSignalProxy (у меня исходников нет - основываюсь только на твоих логах). Макрос для подстановки __declspec(dllexport) или __declspec(dllimport).
|
|||
|
||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 48 Всего: 135 |
Любитель, сейчас исходников под руками тоже нет, но думаю, что в классе QGLSignalProxy сделано что-то типа
но от этого не легче, т.к. макрос DO_EXPORT я ( IMHO ) не должен определять. Смотри: я скачал библиотеку, сделал по документации билд - и получил ошибку. Следовательно - либо в makefil'е ошибка, либо я чего-то не досмотрел. Думаю - второе, а что именно - хез. Это сообщение отредактировал(а) borisbn - 18.11.2010, 07:52 -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 48 Всего: 135 |
Посмотрел qlproxy.h:
Q_OPENGL_EXPORT определяется в qtglobal.h как __declspec( dllexport ) если определён QT_BUILD_OPENGL_LIB Вопрос: как в параметрах nmake'а определить define QT_BUILD_OPENGL_LIB ? или м.б. не в параметрах nmake, а в переменных среды окружения ? или ещё как-то ? -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 16 Всего: 92 |
В общем:
1. У тебя не билдится одна из демок - может забить на неё и убить просто? 2. Экспорт не нужен точно. Там судя по коментам (в коде) ситуация такая, что вообще это внутренний класс QtOpenGL. Но в этой демке зачем-т решили им воспользоваться (что вообще говоря нехорошо). Для этого его импортируют. 3. Проблема в том, что: "definition of dllimport static data member not allowed". А статики берутся из-за того, что с одной стороны в файле есть Q_OBJECT, с другой - он прописан в хидерах (http://qt.gitorious.org/qt-labs/opencl/blobs/master/demos/mandelbrot/mandelbrot.pro), из-за чего на него запускается moc. Итак, решения: 1. По пункту 1 - убить папку mandelbrot. 2. По пункту 3 - попробовать просто в mandelbrot.pro убить glproxy.h из хидеров (так как надо импортировать кутешную родную реализацию, а не билдить свою). 3. Но вообще по пункту 2 в этой демке использован грязный хак (использование не паблик АПИ). Строго говоря, с обновлением QtOpenGL демка может неожиданно сломаться совсем. |
|||
|
||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 48 Всего: 135 |
Любитель, спасибо большое, но я уже дотыкался до mandelbrot.
Я импортировал opencl.pro в студию ( пришлось, правда, подобавлять include'ы и lib'ы от SDK NVIDIA вручную ) и там у меня только mandelbrot и не собрался. Я его просто unload'нул из solution'а и всё собралось. Ещё раз спасибо. Тему закрываю. -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
![]()
|
| Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |