小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

移植qt5.3.1到arm

 灬木木的花灬 2015-01-08

最近剛?cè)胧忠豢铋_發(fā)板(比較低端,剛畢業(yè)工作還沒一個月,窮屌絲一個)。在學校以前都是用的是Friendly Arm的6410,使用的qt版本是使用的最多的4.7.0版本,入手的板子是4.7.4。qt5出來也有好長的時間了,其中提供了很多的特性,所以這次移植的是qt5的最新版本5.3.1。

第一步準備好源碼包,這里需要qt的源碼包,和tslib包,tslib我使用的是開發(fā)板提供的包。

設(shè)置交叉編譯環(huán)境,我使用的是friendly arm的交叉工具。將其加到PATH中。

然后看看是不是已經(jīng)安裝成功。

編譯tslib,相關(guān)的資料可以找資料,這邊就不再贅述了。

我把qt源碼包解壓到~/software文件夾下,重命名為qte-5.3.1。我們是在arm板上移植,需要知道芯片的架構(gòu)。我的是arm9,其架構(gòu)是armv5te。我們進入/home/zhou/software/qte-5.3.1/qtbase/mkspecs/linux-arm-gnueabi-g++目錄下,需要修改qmake.conf文件。如下

#

# qmake configuration for building with arm-linux-gnueabi-g++

#

MAKEFILE_GENERATOR      = UNIX

CONFIG                 += incremental

QMAKE_INCREMENTAL_STYLE = sublib

//添加的內(nèi)容

QT_QPA_DEFAULT_PLATFORM = linuxfb

QMAKE_CFLAGS_RELEASE   +=-O2 -march=armv5te

QMAKE_CXXFLAGS_RELEASE +=-O2 -march=armv5te

include(../common/linux.conf)

include(../common/gcc-base-unix.conf)

include(../common/g++-unix.conf)

//添加的內(nèi)容

QMAKE_INCDIR += /home/zhou/software/tslib1.4-icool2416-v1.0/_install/usr/include  

QMAKE_LIBDIR += /home/zhou/software/tslib1.4-icool2416-v1.0/_install/usr/lib

# modifications to g++.conf

QMAKE_CC                = arm-linux-gcc//這邊需要根據(jù)你安裝來設(shè)計,我的是arm-linux-xx

QMAKE_CXX               = arm-linux-g++

QMAKE_LINK              = arm-linux-g++

QMAKE_LINK_SHLIB        = arm-linux-g++

# modifications to linux.conf

QMAKE_AR                = arm-linux-ar cqs

QMAKE_OBJCOPY           = arm-linux-objcopy

QMAKE_NM                = arm-linux-nm -P

QMAKE_STRIP             = arm-linux-strip

load(qt_config)

板子比較低端,只能使用framebuffer,如果支持opengl es,可以使用eglfs。qt5將顯示都做成了插件形式,這提供了更多的靈活性,詳細的內(nèi)容可以去看qt5的文檔。

我編譯使用的腳本

#!/bin/sh

echo 'build Qt5 for embedded linux Author Zhou Xiang'

mkdir _install

$PWD/configure -v /

               -prefix $PWD/_install /

               -release /

               -make libs /

               -xplatform linux-arm-gnueabi-g++ /

               -optimized-qmake /

               -pch /

               -qt-sql-sqlite /

               -qt-libjpeg /

               -qt-zlib /

               -no-opengl /

               -no-sse2 /

               -no-openssl /

               -no-nis /

               -no-cups /

               -no-glib /

               -no-xcursor -no-xfixes -no-xrandr -no-xrender /

               -no-separate-debug-info /

               -nomake examples -nomake tools

make && make install

你可以詳細的根據(jù)自己的需要配置,其實大部分的配置我都沒看過。在qte-5.3.1文件夾下運行這個腳本就行。

然后將_install文件夾下的lib,plugin和include拷貝到你想放置的地方,我放置在opt/qte-5.3.1下。tslib生成usr文件夾,我直接拷貝到arm板的根目錄下。對/etc/profile進行配置,如下

export TSLIB_ROOT=/usr

export QT_ROOT=/opt/qte-5.3.1

export TSLIB_TSDEVICE=/dev/touchscreen

export TSLIB_CALIBFILE=/etc/pointercal

export TSLIB_CONFFILE=/usr/etc/ts.conf

export TSLIB_PLUGINDIR=/usr/lib/ts

export TSLIB_CONSOLEDEVICE=none

export TSLIB_FBDEVICE=/dev/fb0

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TSLIB_ROOT/lib

export QWS_MOUSE_PROTO=tslib:/dev/touchscreen

export LD_LIBRARY_PATH=/lib:/usr/lib:/usr/local/lib:$QT_ROOT/lib:$LD_LIBARAY_PATH

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 LD_PRELOAD=/usr/lib/preloadable_libiconv.so:$TSLIB_ROOT/lib/libts.so

export QT_QPA_GENERIC_PLUGINS=tslib

配置ts.conf,如果像我這樣,其在/usr/ect目錄下

module_raw input

module pthres pmin=1

module variance delta=30

module dejitter delta=100

module linear

這樣我們就配置好了。

下面就是交叉編譯我們的項目,其實很簡單,就是用qte-5.3.1/_install/bin/qmake一下,然后直接make就ok了。

一開試我運行程序./talkroom -platform linuxfb -plugin tslib總是報

Couldnt load module pthres                                                      

Error configuring                                                               

: No such file or directory

想了各種辦法,然后發(fā)現(xiàn),是

libts.so沒有加載,然后在 LD_PRELOAD添加了

export LD_PRELOAD=/usr/lib/preloadable_libiconv.so:$TSLIB_ROOT/lib/libts.so ,正常了。

qt5.3.1比較為客戶著想,其將窗體邊框去了,而且屏幕上沒有鼠標的光標了,更加想提供給觸摸屏是使用。

第二張圖是點擊的,其獲得了焦點。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多