偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Ubuntu 8.04下編譯運行Qtopia 4.3.2過程

移動開發(fā)
本文介紹的內容是在Ubuntu 8.04下編譯運行Qtopia 4.3.2過程,請看詳細的內容。

Ubuntu 項目完全遵從開源軟件開發(fā)的原則;并且鼓勵人們使用、完善并傳播開源軟件。也就是Ubuntu目前是并將永遠是免費的。 然而,這并不僅僅意味著零成本,自由軟件的理念是人們應該以所有“對社會有用”的方式自由地使用軟件,本文用的開發(fā)板:YC2440-F-V5.1

1、ubuntu8.04開啟root用戶及設置中文界面

Ubuntu安裝后,root用戶默認是被鎖定了的,不允許登錄。對于桌面用戶來說,這樣安全性更高一些,是應該的。但做為嵌入式系統(tǒng)開發(fā),則不是很合適。有時在編譯程序時會遇到一些莫名其妙的問題。因此我們需要開啟root用戶。

步驟:

1、系統(tǒng)->系統(tǒng)管理->用戶和組,選擇root用戶然后點擊“屬性”,設置root用戶的密碼;

2、系統(tǒng)>系統(tǒng)管理>登錄窗口,點“安全”選項頁,選擇“允許本地管理員登錄”。這樣在登錄時就可以root為用戶名登錄了。登錄后看到的是英文界面,即便你已經(jīng)安裝了中文語言包。這時還需做以下設置才能出現(xiàn)中文界面。

  1. gedit ~/.profile 

修改root下隱藏文件.profile,以下是修改過的。此后就成為中文桌面。# ~/.profile: executed by Bourne-compatible login shells. if [ "$BASH" ]; then if [ -f ~/.bashrc ]; then . ~/.bashrc fi fi mesg n # Installed by Debian Installer: # no localization for root because zh_CN.UTF-8 # cannot be properly displayed at the Linux console LANG="zh_CN.UTF-8" LANGUAGE="zh_CN:zh"

2、安裝主機GCC編譯器

編譯qtopia時需要用到主機的GCC編譯器,ubuntu默認是不帶的,因此需要下載安裝。在新立得軟件包管理器中搜索GCC,然后選擇安裝。我安裝的是GCC4.2版。

3、安裝交叉編譯器

(1)我用的交叉編譯器是arm-linux-gcc 3.4.1版。

進入arm-linux-gcc-3.4.1.tar.bz2文件所在的目錄

運行命令:

mkdir /usr/local/arm (如果您的pc端linux系統(tǒng)已經(jīng)有這個文件夾,這步就跳過)

  1. tar -xjvf arm-linux-gcc-3.4.1.tar.bz2 -C /  
  2. 然后運行命令gedit /etc/bash.bashrc 

在最后加上一行PATH=$PATH:/usr/local/arm/3.4.1/bin

保存后關閉。

重新打開終端,如果輸入命令arm-linux-gcc --version后能有版本顯示則交叉編譯環(huán)境已經(jīng)建立了。

(2)修改編譯器文件

  1. gedit /usr/local/arm/3.4.1/arm-linux/include/linux/videodev2.h 在 #define V4L2_PIX_FMT_HI240 v4l2_fourcc('H','I','2','4') 
  2. /* 8 8-bit color */ 之后添加  
  3. #define V4L2_PIX_FMT_SBGGR8 v4l2_fourcc('B','A','8','1') /* 8 BGBG.. GRGR.. */ 

按同樣的方法修改arm-linux/sys_include/linux/videodev2.h

4、安裝NFS

(1)安裝nfs服務器端

  1. apt-get install portmap nfs-kernel-server 

(2)配置共享文件

編輯/etc/exports,在其中增加要共享的目錄

  1. gedit /etc/exports 

配置

  1. /work/qtopia_arm/nfs *(rw,sync, no_root_squash) 

/work/qtopia_arm/nfs是要共享的目錄;*代表所有的客戶機都可以掛接此文件系統(tǒng);rw代表客戶機以讀寫許可來掛接它們的根文件系統(tǒng);no_root_squash 選項允許客戶機以主機上的root身份掛接根文件系統(tǒng)。保存退出。

(3)重啟服務

  1. /etc/init.d/portmap restart  
  2. /etc/init.d/nfs-kernel-server restart 

每當修改了/etc/exports都要重啟服務以便修改生效。

5、安裝一些庫

在編譯時可能會出現(xiàn)一些錯誤,提示缺少某些庫,這時可以根據(jù)提示來下載安裝缺少的庫文件。每個人的主機環(huán)境都不太一樣,因此缺少的庫可能也不一樣。

6、建立工作目錄

創(chuàng)建 /work/qtopia_arm/nfs

并拷貝qtopia-opensource-4.3.2源碼包到/work/qtopia_arm/目錄下。

7、定義兩個環(huán)境變量方便編譯

  1. #export QTOPIA_INSTALL=/work/qtopia_arm/nfs  
  2. #export QTOPIA_RUN_ON_TARGET=/mnt 

QTOPIA_INSTALL為主機上qtopia最終的安裝目錄,這里將安裝路徑獨立出來是為了方便在目標板上進行nfs掛載調試使用。

QTOPIA_RUN_ON_TARGET為qtopia在target板文件系統(tǒng)中的所在路徑。如果采用NFS方式,一定要將qtopia掛載到QTOPIA_RUN_ON_TARGET指定的路徑即/mnt ,因為qtopia運行的絕對路徑已經(jīng)被編譯進可執(zhí)行文件中。

8、修改部分源碼

(1)拷貝編譯目標需要的文件

  1. # cd /work/qtopia_arm/qtopia-opensource-4.3.2/src/libraries/qtopiabase/  
  2. # cp custom-linux-generic-g++.h custom-linux-arm-g++.h  
  3. # cp custom-linux-generic-g++.cpp custom-linux-arm-g++.cpp 

Note: 這兩個文件包含控制液晶屏亮度函數(shù)和一些優(yōu)化qotpia core 的宏定義,用戶可自己設定

(2)直接支持觸摸屏而不使用外部庫

  1. #gedit /work/qtopia_arm/qtopia-opensource-4.3.2/qtopiacore/qconfig-qpe.h 

在最后添加宏定義

  1. #define QT_QWS_IPAQ  
  2. #define QT_QWS_IPAQ_RAW 

(3)修改時區(qū)信息讀取路徑

  1. #gedit /work/qtopia_arm/qtopia-opensource-4.3.2/qtopiacore/qconfig-qpe.h 

在最后添加宏定義

  1. #define QTOPIA_ZONEINFO_PATH "/mnt/etc/zoneinfo/" 

QTOPIA_ZONEINFO_PATH即時區(qū)文件所在的路徑,這里對它進行修改是必要的。否則qtopia運行時候會到默認路徑/usr/share/zoneinfo尋找時區(qū)文件。注意,這里的“/mnt”即qtopia在開發(fā)板文件系統(tǒng)中的所在路徑,要和環(huán)境變量$QTOPIA_RUN_ON_TARGET一樣。

9、生成Makefile文件

建立一個空文件Configure.sh,

并拷貝下列內容:

  1. echo "yes" | /work/qtopia_arm/qtopia-opensource-4.3.2/configure -edition phone -xplatform linux-arm-g++ -arch arm   
  2. -no-qvfb -release -displaysize 480*272 -no-modem -launch-method quicklaunch –image /work/qtopia_arm/nfs   
  3. -prefix /mnt -no-bluetooth -no-drm -no-infrared -extra-qt-config "-qt-zlib -qt-gif -qt-libpng -qt-libmng 
  4. -qt-libjpeg" -extra-qtopiacore-config " -depths 16 -qt-mouse-linuxtp -no-mouse-pc -no-mouse-bus 
  5. -no-mouse-yopy -no-mouse-vr41xx  -no-mouse-tslib -no-mouse-qvfb" 2>&1 | tee logfile 

注意:腳本文件要具有可執(zhí)行屬性才能執(zhí)行,執(zhí)行chmod +x Configure.sh。

注:1) 這里需要提的是qtopia交叉編譯時默認是使用arm-linux-gcc編譯的,從-xplatform 參數(shù)指定的路徑linux-arm-g++下,我們可以找到qmake.conf文件,里面定義了交叉編譯所使用的工具, QMAKE_CC默認為arm-linux-gcc。所以,若有人使用了其他名字的交叉編譯工具,需要在qmake.conf文件進行修改或將編譯工具連接為arm-linux-*也可以。

10、配置并編譯

生成Makefile

  1. #cd /work/qtopia_arm  
  2. #./configure.sh 

編譯并安裝

  1. #make  
  2. #make install 

安裝路徑為$QTOPIA_INSTALL即/work/qtopia_arm/nfs

11、拷貝zoneinfo

默認安裝時沒有拷貝時區(qū)信息,需要手動拷貝

  1. #cp –rvf /work/qtopia_arm/qtopia-opensource-4.3.2/etc/zoneinfo /work/qtopia_arm/nfs/etc 

12、運行qtopia

(1)啟動好開發(fā)板后(內核+文件系統(tǒng)),掛載qtopia

  1. #mount -t nfs 192.168.1.101:/work/qtopia_arm/nfs /mnt -o nolock,rsize=1024,wsize=1024,timeo=15 

主機IP地址設置為192.168.1.101,子網(wǎng)掩碼255.255.255.0,網(wǎng)關192.168.1.1

開發(fā)板IP地址設置為192.168.1.168,子網(wǎng)掩碼255.255.255.0,網(wǎng)關192.168.1.1

(2)設置環(huán)境變量

導入某些環(huán)境變量,使qtopia正常工作

在開發(fā)板上執(zhí)行:

  1. #export PATH=/mnt/bin:$PATH  
  2. #export LD_LIBRARY_PATH=/mnt/lib:$LD_LIBRARY_PATH  
  3. #export QWS_MOUSE_PROTO=LinuxTP:/dev/h3600_tsraw  
  4. #export QWS_DISPLAY="LinuxFb:mmWidth85:mmHeight48:0" 

其中“mmWidthXX:mmHeightXX”為屏幕的可視面積大小,與具體的設備尺寸有關系

  1. 12.3運行qpe  
  2. #qpe& 

等target板LCD出現(xiàn)畫面之后,啟動觸摸屏校正程序

  1. #qcop service send Launcher "execute(QString)" "calibrate" 

校準完后會在/etc目錄下生成Pointercal校準文件,每次觸摸屏啟動都會讀取該文件內容進行觸摸屏設定。還有一種方法是利用TSLIB庫的校準程序來進行校準,將TSLIB交叉編譯到目標機上,然后運行ts_calibrate程序。

校準完畢后就可正常使用qpe。

注意:

1、首先假定開發(fā)板觸摸屏驅動工作正常。可以通過如下的辦法簡單的測試一下:

  1. #cat /dev/fb0  
  2. #cat /dev/h3600_tsraw 

如果報錯則說明設備未能正確添加。需要先解決觸摸屏驅動問題。

2、Qtopia運行時可能需要的一些額外庫,

  1. cp -v libdl*so* $QTOPIA_INSTALL/lib/  
  2. cp -v libpthread*so* $QTOPIA_INSTALL/lib/  
  3. cp -v libstdc++*so* $QTOPIA_INSTALL/lib/  
  4. cp -v libgcc_s*so* $QTOPIA_INSTALL/lib/ 

小結:Ubuntu 8.04下編譯運行Qtopia 4.3.2過程的內容介紹完了,Ubuntu的推出,又給LINUX添加了新印象。最后希望本文對你有所幫助吧!

責任編輯:zhaolei 來源: 互聯(lián)網(wǎng)
相關推薦

2011-06-20 09:58:17

Qt Qtopia 移植

2011-01-21 17:01:34

Zimbra

2009-02-18 19:13:25

2011-07-05 16:31:17

Qtopia 交叉編譯

2009-12-29 17:21:24

Ubuntu 8.04

2010-09-09 17:41:52

ubuntu8.04tftp

2010-01-07 10:14:41

2012-08-13 17:34:11

ubuntu操作系統(tǒng)

2011-07-05 14:06:17

編譯 Qt

2023-03-09 11:02:40

linux編譯源碼

2010-03-16 10:28:44

Ubuntu 8.04

2010-03-16 18:40:59

Ubuntu8.04

2010-03-16 10:13:13

2011-03-25 14:13:07

2011-09-14 15:04:47

Android 2.2

2009-12-07 09:52:06

Ubuntu9.10/

2009-07-02 11:39:32

JSP平臺

2011-08-29 16:31:30

UbuntuAndroid

2011-09-07 09:47:35

UbuntuAndroid

2011-06-21 17:01:44

Qt 靜態(tài) 編譯
點贊
收藏

51CTO技術棧公眾號