1. 程式人生 > >iMX287A嵌入式Qt環境搭建

iMX287A嵌入式Qt環境搭建

@[toc] ### 1.嵌入式Qt簡介 Qt 是一個跨平臺的應用程式開發框架。使用Qt開發的應用程式,只需要編寫一套程式碼,然後把這套程式碼放在不同平臺的Qt環境去編譯,就會生成可以執行在對應平臺的應用程式。例如,我在Windows寫了一個串列埠助手,這套程式碼不用修改,放在Linux環境下的Qt開發環境,重新編譯,就可以生成可以在Linux環境下執行的串列埠助手,當然,Qt支援的環境有很多。不同平臺下的移植,只需要修改很小一部分或者不用修改就可以直接執行。 ![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20200304173222963.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3doaWsxMTk0,size_16,color_FFFFFF,t_70) 嵌入式Qt,即QtE,屬於Qt Embedded Linux 分支平臺。Qt/E 所面對的硬體平臺較多,當開發人員需要在某硬體平臺上移植 Qt/E 時,需要下載Qt 原始碼,利用交叉編譯器編譯出 Qt 庫。接著需要將 Qt 庫複製兩份,一份放置在開發主機上,供編譯使用;一份放在目標板上,供執行時動態載入使用。 ![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20200304172256460.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3doaWsxMTk0,size_16,color_FFFFFF,t_70) ### 2.檢視開發板Qt庫的版本 要想在開發板上執行Qt程式,首先板子上要有Qt的庫,而且要確定這個的庫的版本。那麼怎麼看 開發板上的Qt庫是Qt-4.7.3版本的。可以使用`find`搜尋命令,搜尋本地所有Qt相關的檔案: ```shell #進入到根目錄 cd / #搜尋qt相關的檔案 find -name "*Qt*" #或者 find -name "*qt*" ``` 如果搜尋結果有很多so型別的檔案,說明這個開發板上的系統是支援Qt的,而且後面的數字就是當前Qt庫的版本號。 ![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20200304181835297.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3doaWsxMTk0,size_16,color_FFFFFF,t_70) 可以看出,iMX287A開發板支援Qt,庫的版本是4.7.3。 ### 3.第一個嵌入式Qt程式——Hello World 又是"Hello World",無論學習什麼東西,都要先來個"Hello World",當然Qt也不例外。 #### 3.1 主機搭建嵌入式Qt環境 搭建一個最基本的Qt環境,需要兩個東西:**qmake和編譯器**。編譯器用的是交叉編譯器,我們在第一節的教程中,已經介紹了,並且已經把交叉編譯器的路徑新增到了環境變數。下面我們就來安裝用來開發嵌入式程式的qmake。 qmake包工具在光碟的位置:`3、Linux\2、工具軟體\Linux 工具軟體\qt4.7.3.tar.bz2` ```shell #進入到opt目錄 cd /opt #解壓qmake套件,Qt-4.7.3.tar.bz2 sudo tar -jxvf qt4.7.3.tar.bz2 #新增到使用者環境變數 sudo vim ~/.bashrc #檔案末尾新增一行,$PATH放在後面,表示路徑新增在環境變數最前面 export PATH=/opt/qt4.7.3/bin/:$PATH #使設定的環境變數生效 source ~/.bashrc #檢視當前的PATH路徑 echo $PATH #檢視當前Qt版本 qmake -v ``` **如果本機有多個qmake,那麼一定要把嵌入式qmake路徑新增到環境變數最前面,否則不能識別** ![在這裡插入圖片描述](https://img-blog.csdnimg.cn/2020030418552414.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3doaWsxMTk0,size_16,color_FFFFFF,t_70) 如果輸出了Qt的版本,並且所在路徑是我們設定的,說明Qt環境搭建成功。 #### 3.2 編寫Hello World源程式 我們來編寫一個簡單的介面,程式只顯示一個標籤,標籤的內容是“Hello World”。在PC上交叉編譯之後,把可執行檔案傳輸到開發板上執行。 ```shell #新建一個資料夾存放qt工程 mkdir hello_qt #新建cpp檔案 touch hello_qt.cpp #編輯hello_qt檔案 vim hello_qt.cpp ``` hello_qt.cpp檔案的內容: ```cpp //Qt圖形庫 #