Russian Qt Forum

Qt => Вопросы новичков => Тема начата: MCar от Март 04, 2023, 03:28



Название: Qt не видит реализацию функций opengl
Отправлено: MCar от Март 04, 2023, 03:28
Всем доброе. Я пытаюсь вкатиться в opengl и запустить простенький код с треугольником. В Cmake прописываю таргеты, но при линковке выдает ошибку:
:-1: ошибка: D:/Projects/cpp/oglquad.cpp:13: undefined reference to `__imp_glLoadIdentity'
Как я понял, он не может найти реализацию функций. Из-за чего такое может происходить и как это можно исправить?


Название: Re: Qt не видит реализацию функций opengl
Отправлено: kambala от Март 04, 2023, 10:01
может твоя версия Qt собрана без поддержки OpenGL? если сам собирал, покажи команду конфигурации.

по умолчанию кажется используется ANGLE под виндой. https://wiki.qt.io/Qt_5_on_Windows_ANGLE_and_OpenGL


Название: Re: Qt не видит реализацию функций opengl
Отправлено: MCar от Март 04, 2023, 11:52
может твоя версия Qt собрана без поддержки OpenGL? если сам собирал, покажи команду конфигурации.

по умолчанию кажется используется ANGLE под виндой. https://wiki.qt.io/Qt_5_on_Windows_ANGLE_and_OpenGL
версия qt 6.6.0, устанавливал через maintenance tool (ну то есть не самостоятельно). Модуль с 3d загружен. Модуль с именем opengl отдельный я не нашёл.
Прикол главный в том, что я проверил на примерах, и они работают. Например, работает прога с вращающимся кубиком. И что забавно, используется функция glClear нормально. Но в моем проекте на эту же функцию он неистово жалуется и говорит, что не может найти imp
oglquad.cpp:20: ошибка: undefined reference to `__imp_glClear'

В cmake я чуть ли не 1 в 1 перенес. Несколько часов в интернете лазал, но почти все советы вокруг qmake крутятся


Название: Re: Qt не видит реализацию функций opengl
Отправлено: MCar от Март 04, 2023, 12:10
Я добавил в cmake строку с opengl32.dll. Теперь ошибки не выдает, но и не выводит ничего на экран. Если нужно, то у меня винда. Это может как-то влиять? Я второй день вкатываюсь во всё это, многого не понимаю(


Название: Re: Qt не видит реализацию функций opengl
Отправлено: MCar от Март 04, 2023, 12:32
Забавно, я скопировал код из примеров, и он заработал. Может ли быть такое, что коды из учебников/уроков просто устарели? Я слышал, что opengl топит за обратную совместимость. Или дело может быть в другом?


Название: Re: Qt не видит реализацию функций opengl
Отправлено: kambala от Март 04, 2023, 13:26
Может ли быть такое, что коды из учебников/уроков просто устарели?
может, почему нет

P.S. в OpenGL не разбираюсь


Название: Re: Qt не видит реализацию функций opengl
Отправлено: MCar от Март 04, 2023, 13:37
Может ли быть такое, что коды из учебников/уроков просто устарели?
может, почему нет

P.S. в OpenGL не разбираюсь
Понятно. Спасибо за помощь. Подскажи, если не сложно. В Qt6+ для 3д графики стоит юзать qt3d? Может я как баран в opengl долблюсь?


Название: Re: Qt не видит реализацию функций opengl
Отправлено: kambala от Март 04, 2023, 14:09
попробуй :) это наверное более высокоуровневый (и удобный) фреймворк, чем чистый OpenGL


Название: Re: Qt не видит реализацию функций opengl
Отправлено: tux от Март 04, 2023, 15:37
Может я как баран в opengl долблюсь?
Если есть обёртка - лучше использовать её. Проще, да и поддержка шире.
К тому же, обёртку делают не просто так.


Название: Re: Qt не видит реализацию функций opengl
Отправлено: MCar от Март 04, 2023, 16:41
Сердечно вам благодарен, буду развлекаться