<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > Qt Embedded4.6.2與tslib1.4移植到arm平臺

Qt Embedded4.6.2與tslib1.4移植到arm平臺

作者: 時(shí)間:2016-11-09 來(lái)源:網(wǎng)絡(luò ) 收藏

相關(guān)環(huán)境:

開(kāi)發(fā)板:友善之臂mini2440(64M版)(注:內核是使用友善之臂編譯的2.6.32版內核)

本文引用地址:http://dyxdggzs.com/article/201611/317662.htm

主機操作系統:fedoa 12 i686

所需資源:

tslib1.4

qt-everywhere-opensource-src-4.6.2

友善之臂提供的交叉編譯工具(gcc版本為4.3)

移植過(guò)程:

tslib的移植:

  • 解壓下載的tslib1.4壓縮包
  • 進(jìn)入生成的目錄,我的是~/tslib/
  • 執行./autogen.sh

注:如果出現“configure.ac:26: error: possibly undefined macro: AC_ENABLE_SHARED”這樣的錯誤,請安裝libtool,即:yum install libtool

  • 執行./configure --prefix=/opt/tslib/ --host=arm-linux ac_cv_func_malloc_0_nonnull=yes
  • 經(jīng)過(guò)一小段時(shí)間的編譯,如果沒(méi)出錯就執行make install,我的已經(jīng)安裝到/opt/tslib
  • 修改/opt/tslib/etc/ts.conf,把第二行的#號去掉
  • 通過(guò)nfs將/opt/tslib通過(guò)nfs mount到板子上,或是下載/opt/tslib到板子的/opt/tslib
  • 修改開(kāi)發(fā)板的/etc/profile文件添加如下的內容:
    export TSLIB_ROOT=/opt/tslib
    export TSLIB_TSDEVICE=/dev/input/event0
    export LD_LIBRARY_PATH=$TSLIB_ROOT/lib:$LD_LIBRARY_PATH
    export TSLIB_FBDEVICE=/dev/fb0
    export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts
    export TSLIB_CONSOLEDEVICE=none
    export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf
    export POINTERCAL_FILE=/etc/pointercal
    export TSLIB_CALIBFILE=/etc/pointercal
    export QWS_MOUSE_PROTO=’TSLIB:/dev/input/event0’
    注:紅色部分可根據實(shí)際更改
  • 可以先手動(dòng)執行以上的所有export命令,再運行板子的/opt/tslib/bin/ts_calibrate,我是通過(guò)網(wǎng)絡(luò )連接的板子(本本沒(méi)串口),執行的如下命令:
    /opt/tslib/bin/ts_calibrate >> /dev/tty1
    如果板了屏幕出現校準的"十",就表示移植已經(jīng)成功啦!

qt embedded 的編譯與移植測試

  • 將下載的qt-everywhere-opensource-src-4.6.2包解壓,把得到目錄更名為qt-4.6.2-arm

  • 進(jìn)入qt-4.6.2-arm目錄
  • 輸入如下的命令進(jìn)行相關(guān)功能的定制,關(guān)于更多的定制選擇可以參考./configure --help
    ./configure -embedded arm -xplatform qws/linux-arm-g++ -no-qt3support -fast -no-largefile -qt-mouse-tslib -I /opt/tslib/include -L /opt/tslib/lib -nomake tools -nomake demos -nomake examples
  • 輸入make進(jìn)行編譯
  • make install安裝,安裝目錄為/usr/local/Trolltech/QtEmbedded-4.6.2-arm
  • 通過(guò)nfs把/usr/local/Trolltech mount到板子的同名目錄上
  • 編譯qt-4.6.2-arm/examples/widgets/calculator下的文件,依次輸入如下命令:
    cd qt-4.6.2-arm/examples/widgets/calculator
    /usr/local/Trolltech/QtEmbedded-4.6.2-arm/bin/qmake -project
    /usr/local/Trolltech/QtEmbedded-4.6.2-arm/bin/qmake
    make
  • 將得到的calculator二進(jìn)制文件下載到板子,或是放到/usr/local/Trolltech/
  • telnet到板子的系統,進(jìn)入calculator所在的目錄,輸入如下命令:
    ./calculator -qws >> /dev/tty1
  • 如果出現板子的屏幕出現一個(gè)計算器,表明移植已經(jīng)成功啦!

注:一般來(lái)說(shuō),在編譯成功并安裝后,可以把安裝目錄下的/lib/目錄中的幾個(gè)libQt*.so庫文件拷貝到板子的/lib目錄,還要為這幾個(gè)文件在板子的目錄下建立幾個(gè)軟鏈接(如,ln -s libQtCore.so.4.6.2 libQtCore.so.4 )。我的板子的flash才64M,為了方便,就把整個(gè)安裝目錄掛載到板子上了。

特別說(shuō)明:

  • 如果計算器按鈕的字太小,應該是字體設置的問(wèn)題,請自行解決
  • 這里給出的方法并不一定是最優(yōu)的,僅供參考


評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>