• 14409阅读
  • 5回复

求助 编译错误 [复制链接]

上一主题 下一主题
离线hx0hx
 

只看楼主 正序阅读 楼主  发表于: 2010-06-16
— 本帖被 xtfllbl 执行合并操作(2010-06-17) —
大家好,我在编译C++ GUI Qt4 编程(第二版)》这本书第五章 IconEditor 得时候,有如下错误:

stderr> iconeditor.cpp:1:2: error: invalid preprocessing directive #inlcude
stderr> iconeditor.cpp: In member function 'virtual void IconEditor::paintEvent(QPaintEvent*)':
stderr> iconeditor.cpp:55:21: error: variable 'QPainter painter' has initializer but incomplete type
stderr> iconeditor.cpp:72:23: error: invalid use of incomplete type 'struct QPaintEvent'
stderr> d:\qt\include\QtGui/../../src/gui/kernel/qwidget.h:81:7: error: forward declaration of 'struct QPaintEvent'
stderr> iconeditor.cpp: In member function 'virtual void IconEditor::mousePressEvent(QMouseEvent*)':
stderr> iconeditor.cpp:94:14: error: invalid use of incomplete type 'struct QMouseEvent'
stderr> d:\qt\include\QtGui/../../src/gui/kernel/qwidget.h:76:7: error: forward declaration of 'struct QMouseEvent'
stderr> iconeditor.cpp: In member function 'virtual void IconEditor::mouseMoveEvent(QMouseEvent*)':
stderr> iconeditor.cpp:103:14: error: invalid use of incomplete type 'struct QMouseEvent'
stderr> d:\qt\include\QtGui/../../src/gui/kernel/qwidget.h:76:7: error: forward declaration of 'struct QMouseEvent'


Qt opensource for windows 4.6.3
mingw 4.5

我是没写错代码的。请大虾们帮忙看看,谢谢!
离线dxfans

只看该作者 5楼 发表于: 2012-10-16
回 4楼(fengxiaoyun) 的帖子
窗口都没大小咋显示
离线fengxiaoyun
只看该作者 4楼 发表于: 2012-10-15
请问:我在mainWindow.cpp中代码如下:
#include <QtGui/QPainter>
#include <QtGui/QPaintEvent>

#include "mainwindow.h"


MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{


}

MainWindow::~MainWindow()
{

}


void PaintedWidget::paintEvent(QPaintEvent *event)
{
    //QPainter painter(this);
    QPainter painter;
    painter.drawLine(80,100,650,500);
    painter.setPen(Qt::red);
    painter.drawRect(10,10,100,400);
    //painter.setPen(QPen(Qt::green),5);
    painter.setBrush(Qt::blue);
    painter.drawEllipse(50,150,400,200);
}
mainwindow.h中的代码如下:
#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QtGui/QMainWindow>
#include <QtGui/QPainter>
#include <QtGui/QPaintEvent>

class QPainter;
class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = 0);
    ~MainWindow();
};

class PaintedWidget:public QPainter
{
public:
    void paintEvent(QPaintEvent *event);
};

#endif // MAINWINDOW_H
main.cpp中的代码如下:
#include <QtGui/QApplication>
#include "mainwindow.h"

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();

    return a.exec();
}
为什么运行没有错误,但是什么也没显示呢?求指教!
离线tulip0425

只看该作者 3楼 发表于: 2010-06-17
这么明显的错误提示

inlcude

写错了


离线hx0hx

只看该作者 2楼 发表于: 2010-06-16
求助 编译错误
大家好,我在编译《C++ GUI Qt4 编程(第二版)》这本书第五章 IconEditor 得时候,有如下错误:

stderr> iconeditor.cpp:1:2: error: invalid preprocessing directive #inlcude
stderr> iconeditor.cpp: In member function 'virtual void IconEditor::paintEvent(QPaintEvent*)':
stderr> iconeditor.cpp:55:21: error: variable 'QPainter painter' has initializer but incomplete type
stderr> iconeditor.cpp:72:23: error: invalid use of incomplete type 'struct QPaintEvent'
stderr> d:\qt\include\QtGui/../../src/gui/kernel/qwidget.h:81:7: error: forward declaration of 'struct QPaintEvent'
stderr> iconeditor.cpp: In member function 'virtual void IconEditor::mousePressEvent(QMouseEvent*)':
stderr> iconeditor.cpp:94:14: error: invalid use of incomplete type 'struct QMouseEvent'
stderr> d:\qt\include\QtGui/../../src/gui/kernel/qwidget.h:76:7: error: forward declaration of 'struct QMouseEvent'
stderr> iconeditor.cpp: In member function 'virtual void IconEditor::mouseMoveEvent(QMouseEvent*)':
stderr> iconeditor.cpp:103:14: error: invalid use of incomplete type 'struct QMouseEvent'
stderr> d:\qt\include\QtGui/../../src/gui/kernel/qwidget.h:76:7: error: forward declaration of 'struct QMouseEvent'


Qt opensource for windows 4.6.3
mingw 4.5

我是没写错代码的。请大虾们帮忙看看,谢谢!
离线hx0hx

只看该作者 1楼 发表于: 2010-06-16
invalid use of incomplete type 'struct QMouseEvent'
大家好,我在编译《C++ GUI Qt4 编程(第二版)》这本书第五章 IconEditor 得时候,有如下错误:

stderr> iconeditor.cpp:1:2: error: invalid preprocessing directive #inlcude
stderr> iconeditor.cpp: In member function 'virtual void IconEditor::paintEvent(QPaintEvent*)':
stderr> iconeditor.cpp:55:21: error: variable 'QPainter painter' has initializer but incomplete type
stderr> iconeditor.cpp:72:23: error: invalid use of incomplete type 'struct QPaintEvent'
stderr> d:\qt\include\QtGui/../../src/gui/kernel/qwidget.h:81:7: error: forward declaration of 'struct QPaintEvent'
stderr> iconeditor.cpp: In member function 'virtual void IconEditor::mousePressEvent(QMouseEvent*)':
stderr> iconeditor.cpp:94:14: error: invalid use of incomplete type 'struct QMouseEvent'
stderr> d:\qt\include\QtGui/../../src/gui/kernel/qwidget.h:76:7: error: forward declaration of 'struct QMouseEvent'
stderr> iconeditor.cpp: In member function 'virtual void IconEditor::mouseMoveEvent(QMouseEvent*)':
stderr> iconeditor.cpp:103:14: error: invalid use of incomplete type 'struct QMouseEvent'
stderr> d:\qt\include\QtGui/../../src/gui/kernel/qwidget.h:76:7: error: forward declaration of 'struct QMouseEvent'


Qt opensource for windows 4.6.3
mingw 4.5

我是没写错代码的。请大虾们帮忙看看,谢谢!
快速回复
限100 字节
 
上一个 下一个