您好,登錄后才能下訂單哦!
這篇文章主要講解了“QtE5.7編譯怎么實現”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“QtE5.7編譯怎么實現”吧!
7.2.1 QtE5.7 編譯環境的兩種搭建方式
7.2.1.1 使用已經搭建好的鏡像
搭建好的編譯環境在網盤“iTOP-iMX6 開發板資料匯總(不含光盤資料)\02_iTOP-
iMX6 開發板編譯系統所需要的工具包等\06_QtE5.7 的編譯環境安裝包”目錄下。用戶如果使用搭建好的編譯環境,在簡單的修改環境變量之后,就可以完成本章的編譯。
用戶在使用搭建好的環境時,如果 ssh 連接失敗的話,可以參考“7.2.1.2”小節,配置ssh 服務。如果參考參考“7.2.1.2”小節修改配置之后還有問題,可以參考 7.2.1.3 和 7.2.1.4小節,使用的替換工具。經過測試,在 ssh 工具無法使用的時候,這兩個工具仍然可以使用。
7.2.1.2 自己搭建環境
另一種方法是自己安裝虛擬機,安裝 Ubuntu16.04 系統,搭建環境。
有關“虛擬機安裝”、“虛擬機加載 ubuntu 鏡像”、“Ubuntu 基本操作”等內容,用戶可以參考第三章的內容,這些基本操作在 ubutu16 上都是通用的。有一點需要特殊提出的是,使用 ubuntu16 時,使用的站點是清華的源,具體的設置過程如下:
右上角小齒輪→System Settings→System→Software & updates
→Ubuntu Software→Download from 選擇站點
→選擇清華站點
→彈出驗證→輸入 root 賬號密碼
→替換為清華的下載點
→apt-get update 更新
使用命令“apt-get install vim ssh”安裝 vim 編輯器以及 ssh 工具。
使用 ssh 的時候,會遇到 ssh 連接失敗的問題。
先使用命令“/etc/init.d/ssh restart”啟動 ssh 服務,然后使用命令“vim
/etc/ssh/sshd_config”打開配置文件。在配置文件最后位置添加:
Ciphers aes128-cbc,aes192-cbc,aes256-cbc,aes128-ctr,aes192-ctr,aes256-ctr,3des-cbc,arcfour128,arcfour256,arcfour,blowfish-cbc,cast128-cbc
MACs hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160,hmac-sha1-96,hmac-md5-96 KexAlgorithms diffie-hellman-group1-sha1,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellman-group-exchange-sha256,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group1-sha1,curve25519-
sha256@libssh.org
如下圖所示:
在配置文件中找到下面這段代碼,修改如下。
# Authentication:
LoginGraceTime 120
#PermitRootLogin prohibit-password
PermitRootLogin yes
StrictModes yes
之后使用“/etc/init.d/ssh restart”命令重啟 ssh 服務,ssh 就可以連接上了。
依次使用如下命令,進行庫文件的安裝。
apt-get install lzop
apt-get install u-boot-tools
apt-get install autoconf
apt-get install automake
apt-get install libtool
apt-get install libstdc++6
apt-get install lib32c-dev
apt-get install lib32stdc++6
apt-get install lib32z1
apt-get install lib32ncurses5
7.2.1.3 putty 工具的使用
用戶手冊 3.3.5 小節介紹 SSH 工具,在 Ubuntu16.04 上有一定的概率使用不了,本節介紹替換 SSH 控制臺的工具 putty。
putty 工具是網盤“iTOP-iMX6 開發板資料匯總(不含光盤資料)\02_iTOP-iMX6 開發板編譯系統所需要的工具包等\06_QtE5.7 的編譯環境安裝包\03-QtE5.7 編譯環境需要的工具\01-putty 控制臺工具”目錄下的壓縮包“putty_cn.zip”,解壓之后得到文件夾“puttyfile_0.62cn”,進入該文件夾,如下圖所示。
確認 Ubuntu16.04 上已經安裝了 SSH 并開啟 SSH 功能,虛擬機已經開啟。作者虛擬機上的 IP 是:192.168.2.23,用戶要根據自身的實際情況修改。如下圖所示,雙“putty.exe”打開 Putty 配置,如下圖所示。
如上圖所示,需要注意的部分已經標注。
第一步“遠程主機 IP”要根據實際情況設置;第 2-4 步驟,使用默認即可;第 5 步在保存登陸設置之后,如果配置沒有變化,可以使用默認配置登陸;配置完成之后使用第 6 步,登陸主機。
作者配置如下圖所示。
點擊打開,彈出如下圖所示對話框。
有三種選項目,第一個選項“是”,表示登陸主機并且保存配置到緩存;第二個選項“否”,表示登陸主機,但是不保存配置;第三個選項“取消”,表示不登錄,不保存。選擇第一個選項,第二次登陸就不會彈出這個下圖所示的對話框。
這里選擇“是”,只剩下 PuTTY 使用界面,如下圖所示。輸入賬號 root 和密碼
topeet,搭建好的 Ubuntu 系統默認密碼是“topeet”。
輸入賬號和密碼之后,如下圖所示,已經可以遠程控制 Ubuntu16.04 系統了。
7.2.1.4 winscp 工具的使用
用戶手冊 3.3.5 小節介紹 SSH 工具,在 Ubuntu16.04 上有一定的概率使用不了,本節介紹替換 SSH 文件傳輸的工具 winscp。
winscp 工具是網盤“iTOP-iMX6 開發板資料匯總(不含光盤資料)\02_iTOP-iMX6 開發板編譯系統所需要的工具包等\06_QtE5.7 的編譯環境安裝包\03-QtE5.7 編譯環境需要的工具\02-WinSCP 文件傳輸工具”目錄下的壓縮包“winscp5131.zip”,解壓之后得到文件夾“WinSCP(SFTP 客戶端) v5.13.1 中文版”,進入該文件夾,如下圖所示。
雙擊“WinSCP.exe”,如下圖所示。彈出登陸框。
如下圖所示,主機名稱為 Ubuntu 的 IP 地址,用戶名直接登陸 root,搭建好的編譯環境密碼為 topeet,然后點擊按鈕“登陸”。
彈出如下圖所示提示框。有三種選項目,第一個選項“是”,表示登陸主機并且保存配置到緩存;第二個選項“否”,表示登陸主機,但是不保存配置;第三個選項“取消”,表示不登錄,不保存。選擇第一個選項,第二次登陸就不會彈出這個下圖所示的對話框。
作者這里選擇“是”,如下圖所示,已經登陸,左邊是 Windows 目錄,右邊是 Ubuntu的目錄,使用方法比較簡單,傳文件直接向對應目錄拖動即可。
7.2.2 Ubuntu16.04 系統編譯 uboot 和 kernel
通過 Ubuntu16.04 編譯 uboot 和 kernel 鏡像,和使用第五章編譯出來的鏡像是一摸一樣的。由于 QtE5.7 必須在 Ubuntu16.04 上編譯,為了方便只使用 QtE5.7 的用戶,所以在這一小節中,提供在 Ubuntu16.04 上編譯 QtE5.7 對應的 uboot 和 kernel 鏡像的方法。
uboot 源碼和內核源碼均在 Android 源碼中。
Android 源碼在光盤目錄“04_源碼_Android4.4 文件系統”下,壓縮包先在 windows下解壓,解壓之后的到單獨的壓縮包“iTOP-iMX6_android4.4.2_20160904.tar.gz”。將“iTOP-iMX6_android4.4.2_20160904.tar.gz”壓縮包解壓到 Ubuntu 下(注意,日期后綴可能會更新),得到“iTOP-iMX6_android4.4.2”文件夾,進入“iTOP-iMX6_android4.4.2”目錄,如下圖所示。
7.2.2.1 編譯器版本
編譯的時候需要用到交叉編譯工具。具體設置過程,可以參考“5.2.2 交叉編譯工具的安裝”小節。
7.2.2.2 編譯 uboot
進入源碼解壓得到的“iTOP-iMX6_android4.4.2/bootable/bootloader/uboot-imx”目錄,如下圖所示,可以看到腳本“build_uboot.sh”,執行腳本“build_uboot.sh”開始編譯 uboot。如下圖所示。
編譯完成后,生成了“u-boot.bin”文件,就是 uboot 的鏡像。iTOP-iMX6 開發板所有的系統通用一套 uboot 源碼和鏡像。如下圖所示。
7.2.2.3 編譯內核
進入源碼解壓得到“iTOP-iMX6_android4.4.2/kernel_imx”目錄,使用“vikernel/timeconst.pl”命令打開該文件,進入到 373 行,并修改為如下圖所示。
保存,退出。
使用“./build_qt_kernel.sh”命令,開始編譯內核,如下圖所示。
編譯完成后,在“iTOP-iMX6_android4.4.2/kernel_imx/arch/arm/boot”目錄下生成uImage,即是內核鏡像。如下圖所示。
感謝各位的閱讀,以上就是“QtE5.7編譯怎么實現”的內容了,經過本文的學習后,相信大家對QtE5.7編譯怎么實現這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。