Qt图形编程基础之:实验内容——使用Qt编写“Hello,World”程序
(4)编写主函数main()。
一个Qt/Embeded应用程序应该包含一个主函数,主函数所在的文件名是main.cpp。主函数是应用程序执行的入口点。以下是“Hello,World”例子的主函数文件main.cpp的实现代码:
/****************************************************************************
**以下是main.cpp源代码
****************************************************************************/
#includehello.h
#includeqapplication.h>
/*
Theprogramstartshere.Itparsesthecommandlineandbuildsamessage
stringtobedisplayedbytheHellowidget.
*/
#defineQT_NO_WIZARD
intmain(intargc,char**argv)
{
QApplicationa(argc,argv);
Hellodlg;
QObject::connect(dlg,SIGNAL(clicked()),a,SLOT(quit()));
a.setMainWidget(dlg);
dlg.show();
returna.exec();
}
(5)编辑工程文件hello.pro文件。
到目前为止,为Hello,World例子编写了一个头文件和两个源文件,这3个文件应该被包括在工程文件中,因此还需要编辑hello.pro文件,加入hello.h、hello.cpp、main.cpp这3个文件名。具体定义如下:
/****************************************************************************
**以下是hello.pro文件的内容
****************************************************************************/
TEMPLATE=app
CONFIG=qtwarn_onrelease
HEADERS=hello.h
SOURCES=hello.cpp
main.cpp
INTERFACES=
(6)生成Makefile文件。
编译器是根据Makefile文件内容来进行编译的,所以需要生成Makefile文件。Qt提供的tmake工具可以帮助我们从一个工程文件(.pro文件)中产生Makefile文件。结合当前例子,要从hello.pro生成一个Makefile文件的做法是首先查看环境变量$TMAKEPATH是否指向ARM编译器的配置目录,在命令行下输入以下命令:
ECHO$TMAKEPATH
如果返回的结果末尾不是…/qws/linux-arm-g++的字符串,那么需要把环境变量$TMAKEPATH所指的目录设置为指向arm编译器的配置目录,过程如下:
EXPORTTMAKEPATH=/TMAKE安装路径/QWS/LINUX-ARM-G++
同时,应确保当前的QTDIR环境变量指向Qt/Embedded的安装路径,如果不是,则需要执行以下过程。
EXPORTQTDIR=……/qt-2.3.7
上述步骤完成后,就可以使用tmake生成Makefile文件,具体做法是在命令行输入以下命令:
TMAKE–OMAKEFILEHELLO.PRO
这样就可以看到当前目录下新生成了一个名为Makefile的文件。下一步,需要打开这个文件,做一些小的修改。
①将LINK=arm-linux-gcc改为:LINK=arm-linux-g++
这样做是因为要用arm-linux-g++进行链接。
②将LIBS=$(SUBLIBS)-L$(QTDIR)/lib-lm–lqte改为:
LIBS=$(SUBLIBS)-L/usr/local/arm/2.95.3/lib-L$(QTDIR)/lib-lm–lqte
这是因为链接时要用到交叉编译工具toolchain的库。
(7)编译链接整个工程。
最后就可以在命令行下输入make命令对整个工程进行编译链接了。
make生成的二进制文件hello就是可以在FS2410上运行的可执行文件。
linux操作系统文章专题:linux操作系统详解(linux不再难懂)linux相关文章:linux教程
评论