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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Проблема с подключением OpenGL  (Прочитано 4355 раз)
lisyarus
Гость
« : Апрель 11, 2012, 22:07 »

Совсем недавно начал использовать Qt. Компилирую вызовом qmake -project и потом mingw32-make.
Простые приложения работают, но при попытке подключить QGLWidget или QtOpenGL пишет, что нет такого файла. Решается если написать что-то вроде <QtOpenGL/QGLWidget>, но мне не кажется, что так надо делать. Далее, вот в таком коде:
Код:
#include <QApplication>

#include <QtOpenGL/QtOpenGL>

class Scene : public QGLWidget {
    protected:
   
    public:
        Scene (QWidget *);
};

Scene :: Scene (QWidget * parent) : QGLWidget(parent) { }

int main(int argc, char *argv[]) {
  QApplication Application(argc, argv);

 
  return Application.exec();
}

Выдает ошибки:
Цитировать
C:\Users\      \Desktop\Projects\QtTest/main.cpp:12: undefined reference to `_imp___ZN9QGLWidgetC2EP7QWidgetPKS_6QFlagsIN2Qt10WindowTypeEE'
debug/main.o:main.cpp:(.rdata$_ZTV5Scene[vtable for Scene]+0x8): undefined reference to `QGLWidget::metaObject() const'
debug/main.o:main.cpp:(.rdata$_ZTV5Scene[vtable for Scene]+0xc): undefined reference to `QGLWidget::qt_metacast(char const*)'
debug/main.o:main.cpp:(.rdata$_ZTV5Scene[vtable for Scene]+0x10): undefined reference to `QGLWidget::qt_metacall(QMetaObject::Call, int, void**)'
debug/main.o:main.cpp:(.rdata$_ZTV5Scene[vtable for Scene]+0x1c): undefined reference to `QGLWidget::event(QEvent*)'
debug/main.o:main.cpp:(.rdata$_ZTV5Scene[vtable for Scene]+0x54): undefined reference to `QGLWidget::paintEngine() const'
debug/main.o:main.cpp:(.rdata$_ZTV5Scene[vtable for Scene]+0x84): undefined reference to `QGLWidget::paintEvent(QPaintEvent*)'
debug/main.o:main.cpp:(.rdata$_ZTV5Scene[vtable for Scene]+0x8c): undefined reference to `QGLWidget::resizeEvent(QResizeEvent*)'
debug/main.o:main.cpp:(.rdata$_ZTV5Scene[vtable for Scene]+0xe8): undefined reference to `QGLWidget::updateGL()'
debug/main.o:main.cpp:(.rdata$_ZTV5Scene[vtable for Scene]+0xec): undefined reference to `QGLWidget::updateOverlayGL()'
debug/main.o:main.cpp:(.rdata$_ZTV5Scene[vtable for Scene]+0xf0): undefined reference to `QGLWidget::initializeGL()'
debug/main.o:main.cpp:(.rdata$_ZTV5Scene[vtable for Scene]+0xf4): undefined reference to `QGLWidget::resizeGL(int, int)'
debug/main.o:main.cpp:(.rdata$_ZTV5Scene[vtable for Scene]+0xf8): undefined reference to `QGLWidget::paintGL()'
debug/main.o:main.cpp:(.rdata$_ZTV5Scene[vtable for Scene]+0xfc): undefined reference to `QGLWidget::initializeOverlayGL()'
debug/main.o:main.cpp:(.rdata$_ZTV5Scene[vtable for Scene]+0x100): undefined reference to `QGLWidget::resizeOverlayGL(int, int)'
debug/main.o:main.cpp:(.rdata$_ZTV5Scene[vtable for Scene]+0x104): undefined reference to `QGLWidget::paintOverlayGL()'
debug/main.o:main.cpp:(.rdata$_ZTV5Scene[vtable for Scene]+0x108): undefined reference to `QGLWidget::glInit()'
debug/main.o:main.cpp:(.rdata$_ZTV5Scene[vtable for Scene]+0x10c): undefined reference to `QGLWidget::glDraw()'
debug/main.o:main.cpp:(.rdata$_ZTV5Scene[vtable for Scene]+0x124): undefined reference to `non-virtual thunk to QGLWidget::paintEngine() const'
debug/main.o: In function `~Scene':
C:\Users\      \Desktop\Projects\QtTest/main.cpp:5: undefined reference to `_imp___ZN9QGLWidgetD2Ev'
collect2:            ld                              1
mingw32-make[1]: *** [debug\QtTest.exe] Error 1
mingw32-make: *** [debug] Error 2
Сборка завершилась с ошибкой.

В чем может быть проблема?
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #1 : Апрель 11, 2012, 22:17 »

нужно добавить в pro файл
Код:
QT += opengl
Записан
lisyarus
Гость
« Ответ #2 : Апрель 11, 2012, 22:23 »

Огромное спасибо, заработало
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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