- 论坛徽章:
- 0
|
我现在搞一上板子,上面有qtopia4.4.3 然我后虚拟机下装有qt-embedded-....4.5.3
我用qt写了一个简单的helloworld代码如下:
main.cpp:
#include <QApplication>
#include "window.h"
int main(int argc,char **argv)
{
QApplication app(argc,argv);
window *win = new window;
win->show();
return app.exec();
}
window.cpp:
#include "window.h"
window::window(QWidget *parent)Widget(parent)
{
hello_button = new QPushButton("hello world",this);
}
window.h:
#ifndef WINDOW_H
#define WINDOW_H
#include <QtGui>
class window : public QWidget
{
public:
window(QWidget *parent = 0);
private:
QPushButton *hello_button;
};
#endif
编译是可以通过的。
这样怎么不能运行 在开发板出现的错误是这样的:
./helloworld: symbol lookup error: ./helloworld: undefined symbol: _ZTI7QWidget
然后我又改了一下代码,改成下面这样:
main.cpp
#include <QApplication>
#include "window.h"
int main(int argc,char **argv)
{
QApplication app(argc,argv);
window *win = new window;
return app.exec();
}
window.cpp
#include "window.h"
window::window()
{
win = new QWidget;
hello_button = new QPushButton("hello world",win);
win->show();
}
window.h
#ifndef WINDOW_H
#define WINDOW_H
#include <QtGui>
class window
{
public:
window();
private:
QWidget *win;
QPushButton *hello_button;
};
#endif
我就是把继承那个地方去掉了 改成了直接写定义一个变量 然后再构造函数里面用show()这样放到开发板上又能运行了 让我很尴尬,不知道是怎么回事,有哪位大神来帮帮我,看看到底是怎么回事 |
|