1. 程式人生 > >Linux編譯移植Qt5的環境_OMAPL138平臺

Linux編譯移植Qt5的環境_OMAPL138平臺

Linux編譯移植Qt5_OMAPL138

【導語】:昨天編譯Qt5各種失敗,各種離奇的錯誤在Google上面也搜尋不到,真是讓人“蛋疼菊緊”,今天把所有的環境全部清理乾淨,也重新解壓了Qt5.1.1的原始碼包,重新走了一遍,效果還可以,也沒有出現PDA LTS什麼庫問題,現在整理一下詳細過程和細節點。

另外說一下,我使用Qt5.8.0的原始碼包進行編譯,我的OMAPL138的ARM9架構,在configure階段就提示我your platform arch too old. 意思就是我的平臺的架構太老了,所以如果在ARM9的架構上面編譯Qt5,選擇一個稍微老一點的版本。我這裡選擇Qt5.1.1

再補充一點:如果在曾經執行過./configure這個命令了,如果出了問題進行修正,最好把這個原始碼包刪除,重新解壓一個原始碼包,說不定哪個配置屬性就影響了後續的操作,我之前就是總在這個裡,以為每次./configure都是重新配置,然而並不是這樣。

編譯Qt5.1.1

1 準備工作

2 配置原始碼檔案

下載qt-everywhere-opensource-src-5.1.1.tar.gz的解壓,並且切換到這個目錄。開始配置資訊,我這裡有配置好的檔案,(連結: https://pan.baidu.com/s/1qYPyAoW 密碼: 8eey)這個檔案包含一個配置資訊的run.sh指令碼,和linux-arago-gnueabi-g++的架構資訊資料夾。

把linux-arago-gnueabi-g++架構資料夾拷貝到./qtbase/mkspec資料夾裡面,然後我們修改這個資料夾裡面的qmake.conf檔案,在程式內標定注意事項:

  • QMAKE_CC等編譯器使用的是絕對路徑。
  • QMAKE_CFLAGS_RELEASE 這裡需要寫好你目標板子的架構資訊(可以在終端執行 arch命令檢視)
  • include路徑看看其他架構資料夾裡面的qmake.conf如何指定,可能不同版本稍有不同。
#
# qmake configuration for building with arm-arago-linux-gnueabi-g++
#

MAKEFILE_GENERATOR
= UNIX CONFIG += incremental QMAKE_INCREMENTAL_STYLE = sublib #Compiler Flags to take advantage of the ARM architecture #Run the linux terminal command "arch" to see the detail your target cpu arch information. QMAKE_CFLAGS_RELEASE += -O3 -march=armv5te QMAKE_CXXFLAGS_RELEASE += -O3 -march=armv5te include(../common/linux.conf) include(../common/gcc-base-unix.conf) include(../common/g++-unix.conf) # modifications to g++.conf QMAKE_CC = /home/delvis/opt/toolschain/omapl/arm-arago-linux-gnueabi/bin/arm-arago-linux-gnueabi-gcc QMAKE_CXX = /home/delvis/opt/toolschain/omapl/arm-arago-linux-gnueabi/bin/arm-arago-linux-gnueabi-g++ QMAKE_LINK = /home/delvis/opt/toolschain/omapl/arm-arago-linux-gnueabi/bin/arm-arago-linux-gnueabi-g++ QMAKE_LINK_SHLIB = /home/delvis/opt/toolschain/omapl/arm-arago-linux-gnueabi/bin/arm-arago-linux-gnueabi-g++ # modifications to linux.conf QMAKE_AR = /home/delvis/opt/toolschain/omapl/arm-arago-linux-gnueabi/bin/arm-arago-linux-gnueabi-ar cqs QMAKE_OBJCOPY = /home/delvis/opt/toolschain/omapl/arm-arago-linux-gnueabi/bin/arm-arago-linux-gnueabi-objcopy QMAKE_NM = /home/delvis/opt/toolschain/omapl/arm-arago-linux-gnueabi/bin/arm-arago-linux-gnueabi-nm -P QMAKE_STRIP = /home/delvis/opt/toolschain/omapl/arm-arago-linux-gnueabi/bin/arm-arago-linux-gnueabi-strip load(qt_config)

再來看run.sh的配置資訊(注意給定run.sh chmod 777 許可權)注意幾個關鍵點:

  • -prefix :指定make install之後的安裝路徑。
  • -xplatform :注意是開頭字母是x 還有platform,如果少了x會報錯說:/usr/bin/ld: .libs/dev2gif.o: Relocations in generic ELF (EM: 40)
  • -xplatform 後面指定我們上面定義的架構資訊資料夾。
#!/bin/sh
./configure \
-v \
-prefix /home/delvis/work/qt5.1.1 \
-release \
-opensource \
-no-accessibility \
-xplatform linux-arago-gnueabi-g++ \
-optimized-qmake \
-pch \
-qt-sql-sqlite \
-qt-zlib \
-no-opengl \
-no-sse2 \
-no-openssl \
-no-nis \
-no-cups \
-no-glib \
-no-pkg-config \
-nomake examples \
-lrt \
-no-separate-debug-info

執行sudo ./run.sh然後讓它完成配置。

sudo make -j4開始編譯,編譯的過程不可能是一帆風順的,總會會出現各種的錯誤,自己找找錯誤解決吧

sudo make install之後進入我們-prefix的路徑考培就好了。

拷貝檔案到目標板並配置環境

1)傳輸Qt5.1.1到開發板

就是把我們剛才編譯的環境拷貝到我們的目標板的目錄下,可以使用FTP,可以使用OTG掛在U盤的方式,我喜歡使用SSH協議的scp命令。

sudo scp -r /home/delvis/work/qt5.1.1 [email protected]:/opt 輸入密碼之後就可以把整個資料夾傳輸到開發板上面了。

2) 配置開發板的環境

我們傳輸完畢之後,則需要在開發板上設定環境,當我們執行qt程式的時候才能尋找到這些Qt庫檔案。

開啟

vi /etc/profile

增加以下,需要注意的是QT_ROOT,寫對Qt的路徑,還有TSLIB_ROOT編譯的是tslib的路徑。

export TSLIB_ROOT=/opt/tslib1.4                                                 
export QT_ROOT=/opt/qt5.1.1                                                
export TSLIB_TSDEVICE=/dev/input/event2                                         
export TSLIB_TSEVENTTYPE=input                                                  
export TSLIB_CONFFILE=/opt/tslib1.4/etc/ts.conf                                 
export TSLIB_PLUGINDIR=/opt/tslib1.4/lib/ts                                     
export TSLIB_CONSOLEDEVICE=none                                                 
export TSLIB_FBDEVICE=/dev/fb0                                                  
export QWS_MOUSE_PROTO=tslib:/dev/input/event2                                  
export LD_LIBRARY_PATH=/lib:/usr/lib:/usr/local/lib:$QT_ROOT/lib:$TSLIB_ROOT/lib
export QT_QPA_PLATFORM_PLUGIN_PATH=$QT_ROOT/plugins
export QT_QPA_PLATFORM=linuxfb:tty=/dev/fb0
export QT_QPA_FONTDIR=$QT_ROOT/lib/fonts
export QT_QPA_GENERIC_PLUGINS=tslib 

完成之後,更新一下環境。

source /etc/profile

完成配置。

3)測試

我們利用Qt Creator製作一個簡單的介面,然後編譯出可執行檔案,講可執行檔案傳輸到目標板子上面執行,我們的可執行程式叫做TestEM,需要qws引數。

./TestEM -qws

然後就可以看見介面了。

參考文獻:

2· 文中涉及的內容若有侵權行為,請與本人聯絡,本人會及時刪除。

3· 尊重成果,本文將用的參考文獻全部給出,向無私的工程師,愛好者致敬。

相關推薦

Linux編譯移植Qt5環境_OMAPL138平臺

Linux編譯移植Qt5_OMAPL138 【導語】:昨天編譯Qt5各種失敗,各種離奇的錯誤在Google上面也搜尋不到,真是讓人“蛋疼菊緊”,今天把所有的環境全部清理乾淨,也重新解壓了Qt5.1.1的原始碼包,重新走了一遍,效果還可以,也沒有出現PDA LT

Linux編譯移植Qt5環境_Xillinx的ZYNQ平臺

Linux編譯Qt環境 2017年的十一假期,足不出戶,一個人在教研室裡面搞Qt的移植。我手裡面有Samsung的CortexA8,Samsung的 CortexA53還有Ti的Sitara系列的AM3517的ARM,都成功的移植了Qt,然而在我接觸ZYNQ這

Linux編譯移植Qt4的環境_在OMAPL138平臺

Linux編譯Qt4的環境_OMAPL138 手裡有一塊創龍OMAPL138的板子,我要在上面成功移植Qt環境和觸控式螢幕幕,這是我第二次進行Linux的Qt環境移植,發現了很多問題,需要重新整理。 我編譯了,Qt5版本以上的,結果就是不成功,總是死在PDA問

[CentOS_7.4]Linux編譯安裝mono環境

生效 退出 過程 .com text 可執行程序 路徑 brush linux 一 安裝mono 安裝過程: 下載mono安裝源,配置,編譯,安裝,設置環境變量。 # wget http://download.mono-project.com/sources/mon

linux編譯安裝php環境之lamp-php

1,安裝編譯需要的庫 yum install gcc gcc++ libxml2-devel 2,下載php包 到php官網http://php.net/ 選擇一個版本點進去(本人選擇的是7.19) 然後跳到 然後 複製連結:http://hk1.php

Linux系統下吉林快-三平臺開發環境搭建以及關於變量的基本操作

end 進行 相關操作 and 之前 超級用戶 oss 這樣的 常見 有問題聯系Q1446595067吉林快-三平臺開發, 是一種面向對象的解釋型計算機程序設計語言,由荷蘭人Guido van Rossum於1989年發明,第一個公開發行版發行於1991年。 Python是

qt5.2交叉編譯移植到arm(s5pv210)

1、下載qt-everywhere-opensource-src-5.2.0.tar.xz原始碼,連結:http://download.qt.io/archive/qt/5.2/5.2.0/single/ 2、解壓tar xJf tar xJf qt-everywhere-openso

Linux下Tcl和expect編譯移植

1.tcl編譯 step2: 解壓到/opt/expect/tcl8.6.8目錄下 step3: 進入 /opt/expect/tcl8.6.8/unix目錄下,執行 配置指令碼: ./confi

Linux編譯安裝軟體過程中環境變數的設定

1.編譯過程中執行“./configure”時,最好使用--prefix選項手動設定軟體的安裝目錄,如“$./configure --prefix=/home/lemon/mpich2-install”,這樣可以保證軟體安裝後能夠找到需要使用的可執行檔案及庫檔案的位置。 2.當需要指定某些依賴項時,使用--

32位的Ubuntu16.04安裝QT5.8,並編譯實現window環境下的程式碼

開始 這是本人的第一篇部落格,自己經常在網上找問題的解決方法,發現有些問題很難找到合適的解決方法,所以自己也寫寫,希望能幫助到大家,有錯的地方大家指出。 安裝環境 linux環境: Ubuntu16.04 32位系統 使用apt-get命令

GDB arm-linux交叉編譯移植和使用方法(特別是對於正在執行的程式或者段錯誤的程式進行分析)

測試程式碼中的test1是用來定位堆疊段錯誤,Delay函式是用來定位程式阻塞,都可以用gdb定位出來,如下:  (1)測試程式執行時首先會有個段錯誤:./gdbtest & [[email protected] user0]$ [65334.020000] pgd = c3e14000 [

QT5.9.3安裝及編譯&與vs2013環境配置&opencv配置及呼叫

初次使用QT,安裝時就遇到了一些問題,除錯加整理檔案用了三天,現在總結出來,希望有所幫助。 最終選擇版本: Windows7+Qt5.9.3(包含QtCreator4.4.1)+VS2013+OpenCV3.3.0+cmake3.10.0 一、        Qt及QtC

vc2008/2015, linux, mingw 和 mac 環境編譯 boost_1_62_0

*** 進入 VC2008/2015 命令列:cd boost_1_62_0bootstrap.bat (生成 bjam 程式)vc2008 編譯:bjam stage --toolset=msvc-9.0 --build-type=complete --with-files

Linux + ARM驅動開發環境配置(核心配置與編譯

要想編寫驅動,首先是建立核心目錄樹。 ** 1、檢視ARM開發板的核心版本 ** uname -a 我的arm開發板的版本是3.4.39 ** 2、安裝必要的軟體包 ** sudo apt-get install build-essentia

linux核心移植編譯

在瞭解了核心及其相關知識之後,就要著手核心移植的實驗了。 使用make menuconfig出現問題請移步make: *** 沒有規則可以建立目標“menuconfig”。 停止。   Linux核心移植與編譯 1.linux核心的下載 實驗開始之前,你需要自行下載li

移植Qt5.7到4412開發板上(開發環境搭建)

轉自:https://www.cnblogs.com/t1029901995/p/6046600.html 一、環境:     系統:Ubuntu16.04   64位,     開發板:訊為iTOP-4412精英版(4.7寸屏

linux環境下vscode 中C/C++編譯及除錯環境的搭建

0.確定安裝了GCC,沒有安裝的話sudo apt-get install gcc1.下載vscode並安裝,建議deb包2.開啟vscode,安裝擴充套件外掛,其中C/C++為必裝,提供C/C++支援Code Runner必裝,提供編譯後程序的執行環境C/C++ Snipp

Linux系統移植——裝置樹檔案編譯與反編譯

裝置樹檔案編譯與反編譯 一、裝置樹編譯 有兩種方式 1、將裝置樹檔案拷貝到核心原始碼的arch/*(處理器平臺)/boot/dts/*(廠家)/目錄下,    執行make dtbs 2、dtc -I dts -O dtb  *.dts > my.dtb 二、裝置

【泡咖啡1】linux下caffe編譯以及python環境配置手記

caffe是一個深度學習的庫,相信搞深度學習的話,不是用這個庫就是用theano吧。要想使用caffe首先第一步就是要配置好caffe的環境。在這裡,我主要說的是在debian的linux環境下如何配置好caffe的庫。因為python編寫程式比較方便,在文章最後,我還會具體說明如何配置python環境。本

linux編譯x86和arm平臺的x264

摘抄網址:http://blog.csdn.net/baliguan163/article/details/11773363 參考網址:http://blog.csdn.net/evsqiezi/article/details/8467822 參考網址:http://bl