Qt是壹個跨平臺應用程序和UI開發框架。使用Qt只需壹次性開發應用程序,無須重新編寫源代碼,便可跨不同桌面和嵌入式操作系統部署這些應用程序。Qt原為奇趣科技公司(Trolltech,www.trolltech.com)開發維護,已被nokia公司收購,在nokia的推動下,Qt的發展非常快速,版本不斷更新。目前最新的Qt主版本為4.8.1,所支持的平臺如下圖所示:
嵌入式Linux發行版本上的Qt屬於Qt的EmbeddedLinux分支平臺。這個分支平臺壹般被簡稱為Qt/E。Qt/E在原始Qt的基礎上,做了許多出色的調整以適合嵌入式環境。同Qt/X11相比,Qt/E很節省內存,因為它不需要Xserver或是Xlib庫,它在底層摒棄了Xlib,采用framebuffer作為底層圖形接口。Qt/E的應用程序可以直接寫內核幀緩沖,因此它在嵌入式Linux系統上的應用非常廣泛。
Qt/E所面對的硬件平臺較多,當開發人員需要在某硬件平臺上移植Qt/E時,需要下載Qt源代碼,利用交叉編譯器編譯出Qt庫。接著需要將Qt庫復制兩份,壹份放置在開發主機上,供編譯使用;壹份放在目標板上,供運行時動態加載使用。流程如下圖所示:
EasyARM-iMX283提供已交叉編譯好的Qt庫(Qt-4.8.0),用戶無需編譯,系統已經將Qt庫文件集成到了交叉編譯器中。用戶將得到此庫的兩份拷貝,壹份內嵌在交叉編譯工具鏈中,供編譯時鏈接使用。壹份內嵌在目標板文件系統中,放置在系統庫目錄下,供Qt程序運行時動態加載使用