我是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
程序的方式是否正确?
感谢。
答案 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