编译并运行Qt程序

时间:2011-03-28 07:36:51

标签: c++ qt

我是Qt的新手,并尝试编译并运行我从Programming with Qt书中输入的Qt程序:

#include <qapplication.h>
#include <qlabel.h>
int main(int argc, char *argv[])
{
QApplication myapp(argc, argv);
QLabel *mylabel = new QLabel("Hello",0);
mylabel->resize(120,30);
myapp.setMainWidget(mylabel);
mylabel->show();
return myapp.exec();
}

当我执行此操作时:C:\Qt\2010.05\qt>gcc label.cc Qt command prompt,我得到以下内容:

label.cc:1:26: error: qapplication.h: No such file or directory
label.cc:2:20: error: qlabel.h: No such file or directory
label.cc: In function 'int main(int, char**)':
label.cc:5: error: 'QApplication' was not declared in this scope
label.cc:5: error: expected ';' before 'myapp'
label.cc:6: error: 'QLabel' was not declared in this scope
label.cc:6: error: 'mylabel' was not declared in this scope
label.cc:6: error: expected type-specifier before 'QLabel'
label.cc:6: error: expected ';' before 'QLabel'
label.cc:8: error: 'myapp' was not declared in this scope

为什么?我编译Qt程序的方式是否正确?

感谢。

5 个答案:

答案 0 :(得分:7)

Qmake可以生成一些默认的项目文件:

qmake -project
qmake
make

第一行生成项目文件,第二行从项目文件生成makefile并生成项目。

答案 1 :(得分:2)

要使用Qt系统构建,您需要使用元对象编译器moc;也许是用户界面编译器,uic和定义包含文件的路径并链接到Qt库。

通常的方法是使用Qt提供的qmake。您必须为qmake编写项目文件。这比编写命令行或makefile容易许多倍。

答案 2 :(得分:2)

您错过了包含Qt标头的包含路径。

-Ipath_to_qt/include

答案 3 :(得分:0)

在项目中为核心添加核心。就像这样:

QT + =核心

答案 4 :(得分:0)

添加     QT += widgets到你的专业档案,和     #include <QtWidgets> 到你的main.cpp