在linux Ubuntu14.04下移植Qt程序至QNX6.5.0操作系統

前言

本文內容主要爲如何在Ubuntu14.04上將Qt程序移植到裝有Qnx6.5.0操作系統的嵌入式設備(x86架構)上,以供有需要的開發者參考。

準備工作

1.在Ubuntu上安裝Qt4.7.1;

2.在Ubuntu上安裝QNX Momentics IDE,具體的安裝步驟可以參考我以前寫的博客:
http://blog.csdn.net/wangqingchuan92/article/details/78511824
這裏寫圖片描述

3.下載這兩個壓縮包:qt_qnx_host_linux_x86.tar.gz,qt_qnx_targets.tar.gz(可以向你們的QNX經銷商索要)

具體移植過程

1.編寫一個Qt小程序,能夠編譯並運行在linux中:
這裏寫圖片描述

2.打開linux終端,進入超級用戶模式,輸入指令:echo “${QNX_TARGET%/target/*}”,定位Momentics IDE的安裝目錄:
這裏寫圖片描述

3.將qt_qnx_host_linux_x86.tar.gz解壓到Momentics IDE的安裝目錄,例如我的:
這裏寫圖片描述

4.進入Qt工程文件夾 ,新建一個文本文件,命名爲“Makefile“,然後打開該文本文件,輸入如下內容,保存退出:

LIST=OS CPU VARIANT
MAKEFILE=GNUmakefile
include recurse.mk
 ## eof

這裏寫圖片描述

5.在該工程文件夾中,新建名爲”nto-arm-le”(針對ARM),”nto-arm-le-v7”(針對ARM)以及 “nto-x86-o”(針對x86)子文件夾:
這裏寫圖片描述

6.在每個文件夾中,新建一個文本文件,命名爲”GNUmakefile”,然後打開該文本文件,輸入如下內容,保存退出:

ifndef QCONFIG
QCONFIG=qconfig.mk
endif
include $(QCONFIG)
include $(MKFILES_ROOT)/qmake-qt.mk
 ## eof

這裏寫圖片描述

7.接下來就是常規編譯:打開終端進入Qt工程文件夾,依次輸入make clean,make,make install指令,這樣就開始編譯了:
這裏寫圖片描述

8.打開三個子文件夾中的任意一個,可以看到編譯後的可執行文件:
這裏寫圖片描述

9.以上都是在Ubuntu上進行操作,接下來的步驟就是主要在QNX操作系統上進行。首先將主機和目標機通過網線連接設置同一網段,然後在QNX操作系統上新建一個用戶,具體設置可以參考我以前寫的博客:
http://blog.csdn.net/wangqingchuan92/article/details/78456302

10.在Ubuntu中,將qt_qnx_targets.tar.gz通過ftp傳送至QNX中(簡單,就不貼圖了),然後在QNX上,打開終端,進入壓縮包所傳至的文件夾,輸入指令: # tar xvf qt_qnx_targets.tar.gz -C/usr/qnx650,將文件解壓至/usr/qnx650。

11.繼續在QNX中,將解壓後將/usr/qnx650/target/qnx6/usr以及/usr/qnx650/target/qnx6/x86/usr中的二進制文件拷貝到QNX的/usr目錄下,完成對目標機的配置:

 # cp -r /usr/qnx650/target/qnx6/usr/* /usr
 # cp -r /usr/qnx650/target/qnx6/x86/usr/* /usr

12.繼續在QNX中,編輯/root/.profile配置文件,輸入指令vi /etc/profile,然後在文件末尾輸入:

 export QWS_DISPLAY=qnx
 export QWS_KEYBOARD=qnx
 export QWS_MOUSE_PROTO=qnx
 export XDG_CONFIG_HOME=/root
 export QMAKESPEC=unsupported/qws/qnx-i386-g++

13.回到Ubuntu中,通過ftp將Qt工程拷貝到QNX系統上,然後換到QNX上,進入Qt工程所傳至的文件夾,找到編譯的可執行文件,打開終端,輸入如下指令修改權限(簡單,就不貼圖了):chmod 777 ./test1。

14.點擊下圖的紅框進行操作,進入QNX文本模式:
這裏寫圖片描述

這裏寫圖片描述

這裏寫圖片描述

這裏寫圖片描述

15.此時進入文本模式。首先回車一下,輸入login爲root,password爲空,然後輸入指令:
/usr/photon/bin/devi-hid –Pr mouse

16.進入到Qt工程文件夾所在目錄,找到可執行文件,輸入:./test1 -qws運行程序,成功:
這裏寫圖片描述

17.輸入Ctrl+c退出Qt程序。

PS:雖然步驟16能夠運行Qt程序,但會發現運行Qt程序後,鍵盤不能夠輸入字符,不過可以通過寫腳本的方式讓Qt程序運行時能夠使用鍵盤。在步驟15,輸入完root和空密碼後,進入Qt程序所在文件夾,用vi建立一個腳本命名爲do.sh,腳本內容:

#/bin/sh   
chmod +x ./test1
/usr/photon/bin/devi-hid  –Pr kbd mouse
./test1  -qws

保存退出腳本後,給該腳本加可執行權限:

#chmod +x ./do.sh

最後執行該腳本,這樣就可以在Qt程序中使用鍵盤了:
這裏寫圖片描述

但是這把用Ctrl+c退出程序系統無反應,所以用鼠標點擊右上角的關閉“X”退出到文本模式,但是進入到文本模式後用鍵盤輸入無反應,這個問題先放着,等以後解決。

以上。

參考文檔:
1.http://blog.csdn.net/quyunfei/article/details/8977864
2.Qt 4.7.1 for QNX systems

這個Qt 4.7.1 for QNX systems文檔我上傳到網上了,可以通過這個地址下載,:http://download.csdn.net/download/wangqingchuan92/10118987

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章