Russian Qt Forum
Ноябрь 01, 2024, 03:03 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Qt Quick3D + minGW  (Прочитано 5140 раз)
Кусай
Гость
« : Декабрь 01, 2011, 19:16 »

Доброго вечера всем. Пытаюсь собрать Qt Quick3D под minGW, работаю в QtCreator под Windows, используются последние версии SDK и прочего.
Отсюда
http://labs.qt.nokia.com/2011/09/19/new-qt-quick3d-packages-available/
есть ссылка на исходники (ссылка на ftp ftp://ftp.qt.nokia.com/qt3d/noarch/current/).
Так вот. Какие библиотеки могут требоваться при сборке? Прежде всего, компилятор/линковщик или кто там начал ругаться на отсутствие хидеров для Qt3D и Qt3DQuick (и еще QtDeclarative и не знаю уж зачем QtNetwork). Оказалось, в скачиваемом с официального источника Qt SDK они располагаются не по адресу QtSDK/mingw, а по QtSDK/Desktop/Qt/4.7.4/mingw в отдельных папках. Это нормально?
Если знаете, какие библиотеки надо добавить в *.pro (и в какой *.pro, если есть корневой и для проектов отдельно - будет ли добавление строки в корневой *.pro влиять на *.pro проектов?) для этого дела, какой синтаксис, буду благодарен. Соответственно, при попытке сборки выдает indefined reference'ы на негуглящиеся элементы вида _imp___ZNK11QGLMaterial7textureEi, и другие, начинающиеся с _imp___. В каких библиотеках они лежат? Их надо дописывать по одной или целой директорией? Через LIBS += или как?
Заранее спасибо!
Записан
Кусай
Гость
Re
« Ответ #1 : Декабрь 01, 2011, 21:12 »

Дополнение:
Подключаются хидеры из
INCLUDEPATH += C:\QtSDK\Desktop\Qt\4.7.4\mingw\include\Qt3D\
INCLUDEPATH += C:\QtSDK\Desktop\Qt\4.7.4\mingw\include\Qt3DQuick\
INCLUDEPATH += C:\QtSDK\Desktop\Qt\4.7.4\mingw\include\QtNetwork\
INCLUDEPATH += C:\QtSDK\Desktop\Qt\4.7.4\mingw\include\QtDeclarative\

Может быть, можно было просто корневик указать, ну неважно, мне только один раз собрать и забыть.
Путь к единственным имеющимся в той же папке библиотекам я написал
LIBS += "C:\QtSDK\Desktop\Qt\4.7.4\mingw\lib\" <- но это, судя по всему, эффекта не дает. Потому что в этой папке лежат, во-первых, файлы типа libQtSomething.a и разные dll'ки. А для моих целей, я так понимаю, нужны библиотеки самого opengl'а?
Полный лог ошибок (undefined referenc'ов) могу предоставить, если требуется.
Записан
DO-Sokolov
Гость
« Ответ #2 : Декабрь 02, 2011, 09:37 »

По умолчанию Creator собирает только модули core и gui.
Для остального надо в *.pro файле писать заклинание типа QT += ...
Можно почитать в документации на Creator в разделе  qmake Project Files
или сдесь http://doc.qt.nokia.com/4.7/qmake-project-files.html
Записан
Кусай
Гость
« Ответ #3 : Декабрь 02, 2011, 18:47 »

Для остального надо в *.pro файле писать заклинание типа QT += ...

QT += opengl написано во всех *.pro файлах проекта. Что еще добавить? Undefined reference указывает на отсутствие библиотек с кодом соответствующих функций и других штук, или нет? Какие библиотеки надо подключить?  Непонимающий
Записан
Кусай
Гость
« Ответ #4 : Декабрь 02, 2011, 18:50 »

Попытка подключить dll-ки opengl эффекта также не дает - компилятор или кто там не может распознать формат файлов dll.
Записан
Кусай
Гость
« Ответ #5 : Декабрь 03, 2011, 00:24 »

Нужно ли для установки Qt3D Quick собирать вот это http://doc.qt.nokia.com/qt3d-snapshot/qt3d-building.html или все уже должно быть в Qt SDK? Не совсем понимаю, как связаны Qt/3D, Qt Quick3D. Qt/3D это dll-ки определенные, вроде QtOpengl4.dll или что? Не понимаю, где должны лежать имплементации (или что?) вот этих вот
Код:
undefined reference to `glCullFace@4'
undefined reference to `glEnable@4'
undefined reference to `glDisable@4'
undefined reference to `_imp___ZNK11QGLMaterial7textureEi'

Если на форуме есть люди, которые разбираются в Qt, буду очень признателен за любую помощь и поддержку=).
Записан
DO-Sokolov
Гость
« Ответ #6 : Декабрь 03, 2011, 09:10 »

Попробуйте добавить QT += qt3support.
Записан
once_again_abc
Гость
« Ответ #7 : Декабрь 05, 2011, 02:39 »

библиотеки OpenGL не линкуются. возможно неправильно прописаны или не прописаны пути к кьютишным библиотекам. dll-ки тут не при чем. смотрите где лежать соответствующие .lib файлы.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.155 секунд. Запросов: 20.