qt-extended-4.4.3在S3C6410上的移植

來源:互聯網
上載者:User

 飛淩的開發板目前使用arm-linux-gcc 3.4.5版本來交叉編譯tslib-1.4庫和qt-extended-4.4.3庫,由於qt-extended-4.4.3處於開發中,暫時不放到飛淩開發板的檔案系統中,不過可以使用NFS網路檔案系統來進行調試和運行 Qtopia4

如何使用NFS網路檔案系統可以參考飛淩的《OK6410開發板LINUX2.6使用者手冊》 NFS部分。

開發平台:Ubantu9.10, 交叉編譯器:arm-linux-gcc3.4.5 ,飛淩開發板:6410系列

1  編譯tslib

    編譯和運行qt-extended-4.4.3(Qtopia4),需要tslib庫,該庫是觸控螢幕需要的庫檔案,如對觸控螢幕的資料進行過濾,防震等,QT的庫會調用tslib的庫檔案
    注意:您也可以不用編譯tslib-1.4,直接使用我們編譯好的tslib庫即可,使用tslib同樣需要配置環境變數,如何配置請跳到“配置環境變數”一節

  編譯方法:

     解壓tslib-1.4.rar後 記得先安裝三個東西

     #sudo apt-get install autoconf
     #sudo apt-get install automake
     #sudo apt-get install libtool
  
     #cd tslib/
   
    //設定環境變數,指向交叉編譯器路徑
    export PATH=/usr/local/arm/arm-linux-gcc-3.4.5/bin:$PATH
    export TOOLCHAIN=/usr/local/arm/arm-linux-gcc-3.4.5
    export TB_CC_PREFIX=arm-linux-
    export PKG_CONFIG_PREFIX=$TOOLCHAIN/arm-linux
  
  運行指令碼

   #./autogen.sh
   #echo "ac_cv_func_malloc_0_nonnull=yes" >arm-linux.cache

   配置安裝參數
   #./configure --host=arm-linux --cache-file=arm-linux.cache --enable-inputapi=no PLUGIN_DIR=/usr/local/arm/tslib/plugins -prefix=/usr/local/arm/tslib/build -host=arm-linux --     cache-file=arm-linux.cache 2>&1 | tee conf_log

  編譯
 
  #make 2>&1 | tee make_log
  #make install
 
  編譯後會出現bulid檔案夾
 
  #cd build/etc
  #gedit ts.conf

  去掉module_raw input前面的#號和空格,注意:module_raw input前面不能有空格,否則運行測試軟體時會提示 Segmentation fault

  看一下主機目錄 /usr/local/arm/下面是否已經有了 tslib ,如果有記得修改ts.conf,如果沒有
  把build 檔案夾拷貝到/usr/local/arm下,把build改名為tslib, 編譯qt-extended-4.4.3時需要,另外把這個tslib放到網路檔案系統目錄中的/usr/local下面,我的是/forlinx/root/usr/local/

   在開發板上進入到tslib/bin裡面運行./ts_calibrate  看一下螢幕上是否出現校準程式 ,如果出現則表示tslib編譯成功完成.在開發板上運行時需要設定環境變數,運行編譯好的Qtopia4時也需要環  境變數,為了在每次啟動開發板自動化佈建環境變數可以把以下的內容放到 /forlinx/root/etc/profile檔案中

 
 配置環境變數:該環境變數是運行tslib測試程式和運行Qtopia時必須添加的環境變數,在開發板上添加.
 
 export TSLIB_ROOT=/usr/local/tslib
 export TSLIB_TSDEVICE=/dev/input/event1
 export TSLIB_TSEVENTTYPE=H3600
 export TSLIB_CONFFILE=/usr/local/tslib/etc/ts.conf
 export TSLIB_PLUGINDIR=/usr/local/tslib/lib/ts
 export TSLIB_CALIBFILE=/etc/pointercal
 export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts
 export TSLIB_CONSOLEDEVICE=none
 export TSLIB_FBDEVICE=/dev/fb0

 export QWS_MOUSE_PROTO=Tslib:/dev/input/event1
 #export QWS_MOUSE_PROTO=TPanel:/dev/input/event1
 #export QWS_MOUSE_PROTO="Tslib:/dev/input/event1 MouseMan:/dev/input/mice"
 #export QWS_MOUSE_PROTO=MouseMan:/dev/input/mice

 export QTDIR=/opt/Qtopia
 export QPEDIR=/opt/Qtopia
 export PATH=$QTDIR/bin:$PATH
 export QT_PLUGIN_PATH=$QTDIR/plugins:$QTDIR/qt_plugins/
 export QT_QWS_FONTDIR=$QPEDIR/lib/fonts/
 export LD_LIBRARY_PATH=$QTDIR/plugins/qtopialmigrate/:$QTDIR/qt_plugins/imageformats/:$QTDIR/lib:/usr/local/tslib/lib:$LD_LIBRARY_PATH

 

 

2 編譯和運行qt-extended-4.4.3 

 注意: 您可以使用自己編譯的Qtopia在開發板上運行,也可以使用我們已經編譯好的Qtopia,不用自己編譯,編譯過程需要很長時間,我的PC用了3個多小時。
        如果直接使用編譯好的Qtopia,看“運行Qtopia4”一節。

編譯Qtopia4:

   編譯Qtopia4需要指定交叉編譯器的路徑,如果在編譯tslib時已經設定好了環境變數就不需要再設定了,編譯之前先執行export命令,看一下是否已經有了以下的環境變數

  export PATH=/usr/local/arm/arm-linux-gcc-3.4.5/bin:$PATH
  export TOOLCHAIN=/usr/local/arm/arm-linux-gcc-3.4.5
  export TB_CC_PREFIX=arm-linux-
  export PKG_CONFIG_PREFIX=$TOOLCHAIN/arm-linux

 編譯qt-extended-4.4.3 時注意先建立一個空檔案夾,該檔案夾與qt-extended-4.4.3處於同一層級目錄下,如qt-extended-4.4.3所在目錄為 /mnt/Qt-test/qt-extended-4.4.3,則需要建立 /mnt/Qt-test/builddir檔案夾,然後在命令終端中

  另外需要注意的是:1 編譯Qtopia時確保你的Ubantu9.10環境中安裝了GNU g++編譯器,Qtopia編譯過程中用這個編譯器用來編譯一些工具在PC上運行.
                    2 注意你的Ubantu中要安裝X11的SDK庫,Qtopia編譯過程中需要使用X11SDK裡面的一些標頭檔,使用以下命令即可安裝需要的檔案
                      apt-get install libx11-dev libxext-dev libxtst-dev
                    3 編譯時間 虛擬機器中的qt-extended-4.4.3 檔案夾不能放在與Windows共用的目錄中,否則會編譯出錯.
     

     

  cd /mnt/Qt-test/builddir 輸入以下內容,即可開始配置Qtopia4了,具體的配置含義可以 ../qt-extended-4.4.3/configure  -help 查看,您可以根據自己的需要,填寫屬於自己的配置,另外網路  上有不少關於配置的解釋,在此就不多講了

 ../qt-extended-4.4.3/configure -release -image /opt/Qtopia -prefix /opt/Qtopia -xplatform linux-arm-g++ -arch arm  -build-qt -no-dbus   -ui-type home -launch-method quicklaunch -remove-module qvfb -remove-module modem -remove-module bluetooth  -add-displaysize 480x272 -remove-module drm  -remove-module infrared -remove-module dbus  -extra-qt-config "-qt-mouse-linuxtp"  -extra-qt-embedded-config "-xplatform qws/linux-arm-g++ -embedded arm -qconfig qpe -shared -little-endian -webkit -qt-kbd-usb -qt-libpng -qt-libjpeg -qt-gif -depths 4,8,16,32 -qt-mouse-tslib -I/usr/local/tslib/include -L/usr/local/tslib/lib"  2>../qtopiaconfigureERR.txt

  配置完成後,根據提示即可完成編譯和安裝,目前安裝在 /opt/Qtopia 下面,

運行Qtopia4:

  把Qtopia放到開發板的 /opt目錄下面即  /opt/Qtopia/,我的是NFS檔案系統是 /forlinx/root/opt/Qtopia,確認在開發板上已經設定好了環境變數,環境變數參看tslib中  “配置環境變數”一節。

  配置好環境變數後,既可以運行Qtopia了,另外Qtopia中內建的軟體也可以單獨運行,Qtopia/bin裡面的軟體如 ./photogallery -qws 即可運行圖片瀏覽軟體 ,而不需要啟動qpe案頭環境.下面的命令 可運行Qtopia

   cd /opt/Qtopia/bin
   ./qpe

 即可在螢幕上看到Qtopia4的介面, 裡面附帶了一些應用程式,目前這些應用程式需要修改完善,有的暫時不能使用,我們會逐步進行程式的修改和最佳化,最終會給您一個驚喜的使用體驗。

 

 

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.