1. 程式人生 > >Qt Creator的安裝與Qt交叉編譯的配置

Qt Creator的安裝與Qt交叉編譯的配置

wid 設置 sem arm pad name 生成 art file

Qt Creator 的安裝

到Qt官網下載Qt Creator https://www.qt.io/download-open-source/

技術分享

其它舊版本點擊Achieve連接下載

技術分享

或登錄http://download.qt.io/下載

技術分享

下載前記得查看自己的linux系統情況

uname-a

我的是

技術分享技術分享

技術分享

1. i386 適用於intel和AMD所有32位的cpu.以及via采用X86架構的32位的cpu.
2. X86_64 適用於intel的Core 2 Duo, Centrino Core 2 Duo, and Xeon 和AMD Athlon64/x2, Sempron64/x2, Duron64等采用X86架構的64位cpu.
所以只能下載32bit的Qt Creator


如果下載64bit的qtcreator的話,不能安裝,運行是會報錯
Syntax error: word unexpected (expecting ")")。明顯系統不兼容錯誤


本人下載的是qt-creator-opensource-linux-x86-3.4.0-rc1.run


復制到虛擬機中修改權限
chmod 777 qt-creator-opensource-linux-x86-3.4.0-rc1.run

運行直至安裝完畢

./qt-creator-opensource-linux-x86-3.4.0-rc1.run


1.配置qmake

1.配置linux虛擬機的x86qmake,這個比較簡單

打開qtcreator,依次進入 工具--->選項--->構建和運行

技術分享

技術分享

1.點添加選GCC

2.點右側瀏覽設置編譯器路徑,註意Qt編譯的是c++程序,因此選g++而不是gcc

3.按右側瀏覽添加調試器路徑

4.添加Qt版本,我這是以前添加的不是交叉編譯出的qmake的Qt4.8版本

5找出不是交叉編譯的qmake文件

6.隨你修不修改版本名稱

註意:添加工具鏈的時候要選你當時在虛擬機編譯Qt源文件時的編譯工具,必須要一一對應。(安裝了多個版本編譯工具的虛擬機更要註意)

不然編譯是會找不到該編譯工具而無法編譯。


2.配置交叉編譯出的qmake

如何交叉編譯Qt庫,請看鏈接 http://blog.csdn.net/stanly00/article/details/53033283

打開qtcreator,依次進入 工具--->選項--->構建和運行

技術分享

技術分享

1.添加GCCE(嵌入式)

2.選擇交叉編譯器工具

3.選擇調試工具(可選可不選),在虛擬機調試編譯過了,交叉編譯肯定會過,除非編譯器的版本有差異

4.添加Qt版本(添加的是你交叉編譯出的qmake路徑)或按Browse添加


我添加的是交叉編譯出的Qt5.6源文件的qmake,但是報錯,說無效的Qt版本

解決辦法:?裏是解決問題的關鍵”默認的mkspace symlink奔潰了

其實就是mkspace裏的一個軟連接破壞了或丟失了


我的是丟失了,進入qt5.6交叉編譯安裝好的mkspce文件夾下,輸入紅框命令設置默認軟連接

技術分享

註意:Qt5和Qt4 版本不同,qt4編譯生成的linux-arm-gnueabi-g++文件夾在qws文件夾中,而qt5編譯出的linux-arm-gnueabi-g++文件夾只在mkspace中,千萬不要把別的版本的linux-arm-gnueabi-g++文件夾復制到目標文件夾,要一一對應,只要在目標文件夾找出qt交叉編譯後的配置文件夾------> linux-arm-gnueabi-g++文件夾,進行軟連接即可,尚未嘗試過硬連接。

然後再設置Qt版本,終於不報錯了

技術分享

隨便新建個qt程序,配置編譯

技術分享

這是qt5.6交叉編譯出的配置

記住:交叉編譯工具要與交叉編譯安裝qt5.6源碼時的配置要一致,否則編譯時會報錯:can not find arm-linux-genuabi-g++,找不到交叉編譯工具。

技術分享

編譯成功但啟動不了,交叉編譯只能下載到開發板運行

技術分享技術分享技術分享

交叉編譯出的qt程序不能運行只能切換到虛擬機版qmake編譯並在虛擬機運行

技術分享

我新建時 的項目是qt4,但交叉編譯時的項目是qt5,由於版本差異,也會報錯

錯誤:QtGui/QApplication: No such file or directory

解決:

1.pro文件裏,QT += core gui 改為 QT += core gui widgets

2..h文件裏,#include <QtGui/QApplication>改為#include <QApplication>

Qt5的變化倒是挺大的。


還可以用命令行編譯qt程序

編譯好qt,設置環境變量

vim ~/.bashrc,添加以下內容

技術分享

為 了方便區分qmake版本,我把交叉編譯的qmake版本改名為qmake-arm

mv qmake qmake-arm

查看是否配置成功

技術分享技術分享技術分享

這樣以來就可以用qmake-arm工具交叉編譯qt程序了

隨便新建qt程序命名為qtt(可在qtcreator下創建),包括以下文件

技術分享

1.用qmake-arm -project命令生成.pro工程文件

技術分享

技術分享

2.修改工程文件 gedit qtt.pro

技術分享

註意:qt5版本需添加QT +=core gui widgets


3.執行 qmake-arm 命令生成Makefile

技術分享

4.編譯 make

技術分享

生成一大堆的.o文件,其中紅框的是交叉編譯完的qt程序,下載到開發板運行。

技術分享

轉載請註明出處

Qt Creator的安裝與Qt交叉編譯的配置