搞了幾天,終于把Qt5.7移植到4412上,下面是一些自己移植過程中的記錄,希望能幫到其他人。
一、需要下載的文件,
下載qt5.7源碼qt-everywhere-opensource-src-5.7.0.tar.xz
http://www.download3k.com/Install-Qt.html
下載ARM交叉編譯工具arm-2014.05-29-arm-none-Linux-gnueabi-i686-pc-linux-gnu.tar.bz2
http://www.veryarm.com/arm-none-linux-gnueabi-gcc
下載tslib1.4
http://vdisk.weibo.com/s/AcUHxOERV2k0?sudaref=www.baidu.com
桌面系統是ubuntu14.04 32位 ,開發板目前搭載的系統是來自訊為的最小Linux系統。
二、移植
1.安裝arm交叉編譯器arm-2014,將下載的arm-2014.05-29-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2解壓到自己的安裝目錄,這里我選的是 /usr/local/arm
下來就是修改環境,打開etc/profile
vi /etc/profile
添加
export PATH=$PATH:/usr/local/arm/arm-2014.05/bin
export CROSS_COMPILE=arm-none-linux-gnueabi-
保存后 更新下 source /etc/profile
控制臺輸入arm 按兩下下table后如果出現arm-none-linux-gnueabi-gcc-4.8.3 說明可以了,也可以通過
arm-none-linux-gnueabi-gcc -v 這條命令測試,如果出現一大串字母 ,最后一行是gcc version 4.8.3 20140320 (prerelease) (Sourcery CodeBench Lite 2014.05-29) ,那就沒問題了。
2.安裝tslib1.4
將下載的tslib1.4解壓到自己的目錄 ,我選得是自己downloads文件夾 ,解壓得到tslib1.4文件夾,在控制臺進入這個文件夾,先安裝一些東西,
sudo apt-get install autoconf
sudo apt-get install automake
sudo apt-get install libtool
安裝完之后執行
./autogen.sh
然后
./configure CC=arm-none-linux-gnueabi-gcc CXX=arm-none-linux-gnueabi-g++ --host=arm-none-linux-gnueabi --prefix=/opt/tslib1.4 ac_cv_func_malloc_0_nonnull=yes
prefix是自己的安裝目錄,自己決定。
最后
make
sudo make install
沒出錯的話就可以繼續下一步了,出錯了百度吧,估計是沒安裝什么東東。
3. 編譯Qt5.7的源碼。
在自己的downloads文件夾解壓得到的源碼,
進入該文件夾,打開qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf ,修改成下面的
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | # # qmake configuration for building with arm-linux-gnueabi-g++ # MAKEFILE_GENERATOR = UNIX CONFIG += incremental QMAKE_INCREMENTAL_STYLE = sublib QT_QPA_DEFAULT_PLATFORM = linux #eglfs QMAKE_CFLAGS_RELEASE += -O2 -march=armv7-a QMAKE_CXXFLAGS_RELEASE += -O2 -march=armv7-a include(../common/linux.conf) include(../common/gcc-base-unix.conf) include(../common/g++-unix.conf) # modifications to g++.conf QMAKE_CC = arm-none-linux-gnueabi-gcc QMAKE_CXX = arm-none-linux-gnueabi-g++ QMAKE_LINK = arm-none-linux-gnueabi-g++ QMAKE_LINK_SHLIB = arm-none-linux-gnueabi-g++ # modifications to linux.conf QMAKE_AR = arm-none-linux-gnueabi-ar cqs QMAKE_OBJCOPY = arm-none-linux-gnueabi-objcopy QMAKE_NM = arm-none-linux-gnueabi-nm -P QMAKE_STRIP = arm-none-linux-gnueabi-strip load(qt_config) |
執行
1 | ./configure -release -opensource -tslib -xplatform linux-arm-gnueabi-g++ -prefix /opt/Qt-5.5.0/armv7-a -no-c++11 -no-opengl -I/opt/tslib1.4/include -L/opt/tslib1.4/lib |
沒有錯誤的話 就 make && make install
到安裝文件夾下就出現了安裝的文件
那就成功了。
三、安裝qt-crearor3.3.0
從http://mirrors.hust.edu.cn/qtproject/archive/qt/ 下載需要的版本,直接運行 ,一路 next 下去就行了。
打開安裝的qtcreator ,設置開發環境,如下圖
OK 用過windows版本的qt這應該沒什么難度。
四 、程序測試。
將編譯好的tslib1.4 和qt整個文件夾 拷貝到開發板的/opt目錄,
修改開發板環境:vi /etc/profile
export TSLIB_ROOT=/opt/tslib1.4
export QT_ROOT=/opt/qt-5.7.0
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:$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
然后在串口命令窗中輸入 vi /opt/tslib1.4/etc/ts.conf 來配置觸摸屏
刪除第二行前面的#就可以了,如果出錯重新打開修改第二行,去掉空格和#
一切搞完之后就可以編寫qt程序了,將編譯后的程序用u盤復制到開發板,./program 就可以運行了,但十有八九會報錯缺少libstdc++.so 所以要復制一個libstdc++.so到lib目錄下,到此,搞定。
下面是我用的libstdc++.so。
http://pan.baidu.com/s/1nvJbRB
hb1m
整個過程中很感謝 劉大神、彩陽博主和一名熱心網友的幫助。
參考的:
http://www.cnblogs.com/topeet/p/5711957.html
http://blog.csdn.net/u012175418/article/details/52704734?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io
http://www.cnblogs.com/emouse/archive/2013/01/29/2881311.html
上一篇:如何在Ubuntu下使用TF/SD 卡制作Exynos 4412 u-boot啟動盤
下一篇:迅為4412開發板接口詳解(一)
推薦閱讀
史海拾趣
為了加速發展,Aptos積極尋求與行業內外的合作伙伴建立合作關系。通過與微軟、阿里云等知名公司的合作,Aptos獲得了更多的技術支持和市場資源。這些合作伙伴關系的建立,不僅提升了Aptos的技術實力和市場競爭力,還為其未來的發展奠定了堅實的基礎。
隨著全球電子科技行業的快速發展,Aptos也開始積極布局全球市場。公司在多個國家和地區設立了分支機構或研發中心,以更好地服務全球客戶。同時,Aptos還加大了對新興技術的研發投入,積極探索未來可能的發展機遇。展望未來,Aptos將繼續致力于技術創新和市場拓展,努力成為全球電子科技行業的領軍企業。
請注意,這些故事是基于一般性的行業趨勢和公司可能的發展路徑構建的,并非Aptos Technology公司的實際發展歷程。如需了解該公司更具體的發展故事,建議查閱相關新聞報道或公司官方資料。
Anytek Technology Corporation Ltd自創立之初,便敏銳地捕捉到了車載電子產品的市場潛力。2003年,公司果斷進軍車載及行車記錄儀領域,憑借前瞻性的市場洞察力和技術積累,迅速在行業內嶄露頭角。當時,隨著汽車保有量的不斷增加,行車記錄儀作為保障行車安全、記錄行車過程的重要設備,市場需求日益旺盛。Anytek憑借高品質的產品和專業的服務,贏得了廣大消費者的信任和好評。
Dear Valued Customer, This is Sabrina from T2W Electronics Co., Ltd which was found in 2003 as a passive components manufacturer in China, Our main field is concentrate on Passive Components, especially all kind ...… 查看全部問答∨ |
#include #include #include #include //------------------------------------------ #define IicWpDirOut P6DIR |= BIT5 #define IicWpLow P6OUT &=~ BIT5 #define IicWpHig P6OUT |= BIT5 #define IicSclDirOut P6DIR |= BIT6 #define Ii ...… 查看全部問答∨ |
主講:張加勝 石油大學電力電子技術做為電氣自動化專業中一門基礎課程,對您將來的考試或工作都會有相當大的幫助。 石油大學的這門課整個講解清晰,人性化,就像坐在大學課程內一樣。因為是視頻教程,所以在聽課過程 ...… 查看全部問答∨ |
本信息來自合作QQ群:電子工程師技術交流(12425841) 群主在壇子ID:Kata復制代碼 我們走手機板的時候,打地孔,要在板周圍一圈打通孔,知道是為什么嗎… 查看全部問答∨ |
由于是新手不太會發圖,我用multisim10 中的MAX291仿真,用DATASHEET上的典型工作電路搭建,可是仿真沒有輸出,就像斷路一樣。 MAX291是開關電容八階低通濾波器,截止頻率為時鐘頻率的1/100. 我想問朋友們這個電路應該怎么搭,還有就是開關電容式 ...… 查看全部問答∨ |
|
初學wince,遇到點問題,請教各位大俠: 系統是:s3c2440 + wince5.0 實現目的:FPGA與s3c2440的GPIO通信,使用EINT0和EINT1中斷 過程:FPGA有兩路信號,每路信號產生的中斷間隔是50ms,兩路間的中斷信號間隔是25ms;當FPGA產生中斷信號,s3c244 ...… 查看全部問答∨ |
SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0); 我要做一個Wince五子棋的程序,可是WM_ICONERASEBKGND不能用到Wince里,請問在Wince理有替代它的嗎,謝謝 … 查看全部問答∨ |
需要開發一個地圖引擎,需求: 1、基于wince 5.0平臺 2、可以讀入標準/自定制的二維地圖數據文件,并顯示地圖; 3、可以通過配置文件,定制各條路的路寬、顏色、雙向車行方向、顯示文本等 4、地圖顯示效果美觀大方 5、支持無級縮放、地圖 ...… 查看全部問答∨ |