В общем попробовал Qt + OpenGL, вылетает в ошибку в строке QGLWgt *glwidget = new QGLWgt(mainwindow, (QGLWidget*) 0, Qt::Widget); после make. Версия Qt 4.2.1. main.cpp Код (Text): #include <QApplication> #include "QMainWnd.h" #include "QGLWgt.h" int main(int argc, char *argv[]) { QApplication app(argc, argv); QMainWnd *mainwindow = new QMainWnd(); mainwindow->setWindowTitle("OpenGL"); mainwindow->resize(640, 480); QStatusBar *statusbar = mainwindow->statusBar(); statusbar->showMessage(QString::fromLocal8Bit("Р_С_РёР>Р_РРчР_РёРч OpenGL"), 0); QGLWgt *glwidget = new QGLWgt(mainwindow, (QGLWidget*) 0, Qt::Widget); mainwindow->setGLWidget(glwidget); mainwindow->show(); return app.exec(); } QGLWgt.h Код (Text): #include <QtOpenGL> class QGLWgt : public QGLWidget { public: QGLWgt(QWidget *parent, const QGLWidget *shareWidget, Qt::WindowFlags f); protected: void initializeGL(); void resizeGL(int w, int h); void paintGL(); }; QGlWgt.cpp Код (Text): #include <QGLWgt.h> QGLWgt::QGLWgt(QWidget *parent, const QGLWidget *shareWidget, Qt::WindowFlags f) { } void QGLWgt::initializeGL() { } void QGLWgt::resizeGL(int w, int h) { glViewport(0, 0, (GLint)w, (GLint)h); } void QGLWgt::paintGL() { glRectf(-0.5,0.5,0.5,-0.5); } QMainWnd.h + *.cpp Код (Text): #include <QMainWindow> #include <QtOpenGL> class QMainWnd : public QMainWindow { public: void setGLWidget(QGLWidget *widget); protected: virtual void resizeEvent(QResizeEvent *event); private: QGLWidget *glwidget; }; #include "QMainWnd.h" void QMainWnd::resizeEvent(QResizeEvent *event){ if (glwidget != NULL) { glwidget->resize(this->width(), this->height() - this->statusBar()->height()); } } void QMainWnd::setGLWidget(QGLWidget *widget){ glwidget = widget; } Пишет: main.o: In function `main': main.cpp.text+0x121): undefined reference to `QGLWgt::QGLWgt(QWidget*, QGLWidget const*, QFlags<Qt::WindowType>)' Пробовал удалить конструктор, чтобы использовался конструктор класса QGLWidget, похожая ошибка: main.cpp: In function в__int main(int, char**)в_T: main.cpp:21: error: no matching function for call to в__QGLWgt::QGLWgt(QMainWnd*&, QGLWidget*, Qt::WindowType)в_T QGLWgt.h:3: note: candidates are: QGLWgt::QGLWgt() QGLWgt.h:3: note: QGLWgt::QGLWgt(const QGLWgt&) Посмотрите плз, кому не лень.
Исправил ошибку. В файл проекта (.pro) добавлял Удалил libjpeg - откомпилировал проект. @#%&Ъ ... Целый день маялся. Надо было в WASM.UNIX тему открывать.
Не доходит. Существует класс: QGLWidget. У него есть 3 конструктора: Создаю потомка класса QGLWidget: class QGLWgt : public QGLWidget. Так почему при создании экземпляра класса потомка QGLWgt в основной программе невозможно использовать конструктор класса QGLWidget?