首页| 论坛| 消息

标题:【提问】才学QT。这么简单的程序在错了?在kdevelop下编译出错~
作者:magicoy
日期:2005-08-24 17:36
内容:

#include
#include
#include
int main(int argc, char **argv)
{
QApplication a;
QWidget mainwindows;

mainwindows.setMinimumSize(200, 100);
mainwindows.setMaximumSize(200, 100);
QPushButton hello("Hello magicoy!", &mainwindows);
hello.setGeometry(20, 20, 160, 60);
a.setMainWedget(&mainwindows);
mainwindows.show();
return a.exec();
}

/*错误信息
cd '/usr/cqt/qapp' && QTDIR="/usr/lib/qt-3.3" gmake -k
正在编译 qapp.cpp (g++)
qapp.cpp:7: error: no matching function for call to `QApplication::QApplication()'
/usr/lib/qt-3.3/include/qapplication.h:435: note: candidates are: QApplication::QApplication(const QApplication&)
/usr/lib/qt-3.3/include/qapplication.h:81: note: QApplication::QApplication(Display*, int, char**, long unsigned int, long unsigned int)
/usr/lib/qt-3.3/include/qapplication.h:79: note: QApplication::QApplication(Display*, long unsigned int, long unsigned int)
/usr/lib/qt-3.3/include/qapplication.h:77: note: QApplication::QApplication(int&, char**, QApplication::Type)
/usr/lib/qt-3.3/include/qapplication.h:75: note: QApplication::QApplication(int&, char**, bool)
/usr/lib/qt-3.3/include/qapplication.h:74: note: QApplication::QApplication(int&, char**)
qapp.cpp:16: error: 'class QApplication' has no member named 'setMainWedget'
qapp.cpp:6: warning: unused parameter 'argc'
qapp.cpp:6: warning: unused parameter 'argv'
*** 退出状态:2 ***


#1 [XChinux 08-24 17:39]
人家说了,QApplication的那几个构造函数里没有和你使用的想匹配的。所以应该变为:
QApplication a(argc, argv);
还数:QApplication类没有setMainWedget这个成员,所以
应该叫:setMainWidget,
但,如果你使用qt4的话,这个函数是也没有,也是不需要的。
#2 [magicoy 08-24 18:07]
我是QT几我也不知道。
反正我用的ML自带的QT
#3 [magicoy 08-24 18:11]
#include
#include
#include
int main(int argc, char **argv)
{
QApplication a(argc,argv);
QWidget mainwindows;

mainwindows.setMinimumSize(200, 100);
mainwindows.setMaximumSize(200, 100);
QPushButton hello("Hello magicoy!", &mainwindows);
hello.setGeometry(20, 20, 160, 60);
a.setMainWidget(&mainwindows);
mainwindows.show();
return a.exec();
}
--------------------------------------
cd '/usr/cqt/qapp' && QTDIR="/usr/lib/qt-3.3" gmake -k
正在联接 ../bin/qapp (g++)
/usr/lib/qt-3.3/include/qglist.h:151: multiple definition of `main'
qapp.o(.text+0x0):/usr/lib/qt-3.3/include/qglist.h:151: first defined here
/usr/cqt/qapp/src/moc_qapp.cpp:106: undefined reference to `Qapp::aboutQt()'
moc_qapp.o(.text+0x261):/usr/cqt/qapp/src/moc_qapp.cpp:99: undefined reference to `Qapp::newDoc()'
moc_qapp.o(.text+0x270):/usr/cqt/qapp/src/moc_qapp.cpp:100: undefined reference to `Qapp::choose()'
/usr/lib/qt-3.3/include/private/qucom_p.h:449: undefined reference to `Qapp::load(QString const&)'
/usr/cqt/qapp/src/moc_qapp.cpp:102: undefined reference to `Qapp::save()'
o(.text+0x2a6):/usr/cqt/qapp/src/moc_qapp.cpp:103: undefined reference to `Qapp::saveAs()'
moc_qapp.o(.text+0x2b6):/usr/cqt/qapp/src/moc_qapp.cpp:104: undefined reference to `Qapp::print()'
moc_qapp.o(.text+0x2c6):/usr/cqt/qapp/src/moc_qapp.cpp:105: undefined reference to `Qapp::about()'
*** 退出状态:2 ***
#4 [XChinux 08-25 09:46]
KDevelop自动生成Qt程序有两种方式, 一种是使用Autoconf, automake工具,另一种是使用qmake。看你是采用的哪种。同时,自动生成的工程一般来说都已经为你生成了主函数文件。你再好好检查一下工程里的文件。
#5 [giscn 08-25 10:25]
main重复定义了,
你的gmake在干什么?将乱七八糟的qglist.h等都联到里面去了
将pro文件帖出来看看,

<< 1 2 3 >> (1/3)

回复 发表
主题 版块