Qt圖形編程基礎(chǔ)之:實驗內(nèi)容——使用Qt編寫“Hello,World”程序
(4)編寫主函數(shù)main()。
一個Qt/Embeded應(yīng)用程序應(yīng)該包含一個主函數(shù),主函數(shù)所在的文件名是main.cpp。主函數(shù)是應(yīng)用程序執(zhí)行的入口點。以下是“Hello,World”例子的主函數(shù)文件main.cpp的實現(xiàn)代碼:
/****************************************************************************
**以下是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個文件應(yīng)該被包括在工程文件中,因此還需要編輯hello.pro文件,加入hello.h、hello.cpp、main.cpp這3個文件名。具體定義如下:
/****************************************************************************
**以下是hello.pro文件的內(nèi)容
****************************************************************************/
TEMPLATE=app
CONFIG=qtwarn_onrelease
HEADERS=hello.h
SOURCES=hello.cpp
main.cpp
INTERFACES=
(6)生成Makefile文件。
編譯器是根據(jù)Makefile文件內(nèi)容來進行編譯的,所以需要生成Makefile文件。Qt提供的tmake工具可以幫助我們從一個工程文件(.pro文件)中產(chǎn)生Makefile文件。結(jié)合當前例子,要從hello.pro生成一個Makefile文件的做法是首先查看環(huán)境變量$TMAKEPATH是否指向ARM編譯器的配置目錄,在命令行下輸入以下命令:
ECHO$TMAKEPATH
如果返回的結(jié)果末尾不是…/qws/linux-arm-g++的字符串,那么需要把環(huán)境變量$TMAKEPATH所指的目錄設(shè)置為指向arm編譯器的配置目錄,過程如下:
EXPORTTMAKEPATH=/TMAKE安裝路徑/QWS/LINUX-ARM-G++
同時,應(yīng)確保當前的QTDIR環(huán)境變量指向Qt/Embedded的安裝路徑,如果不是,則需要執(zhí)行以下過程。
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上運行的可執(zhí)行文件。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)linux相關(guān)文章:linux教程
評論