自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Ubuntu 8.04下編譯運(yùn)行Qtopia 4.3.2過(guò)程

移動(dòng)開(kāi)發(fā)
本文介紹的內(nèi)容是在Ubuntu 8.04下編譯運(yùn)行Qtopia 4.3.2過(guò)程,請(qǐng)看詳細(xì)的內(nèi)容。

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

1、ubuntu8.04開(kāi)啟root用戶及設(shè)置中文界面

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

步驟:

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

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

  1. gedit ~/.profile 

修改root下隱藏文件.profile,以下是修改過(guò)的。此后就成為中文桌面。# ~/.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、安裝主機(jī)GCC編譯器

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

3、安裝交叉編譯器

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

進(jìn)入arm-linux-gcc-3.4.1.tar.bz2文件所在的目錄

運(yùn)行命令:

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

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

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

保存后關(guān)閉。

重新打開(kāi)終端,如果輸入命令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服務(wù)器端

  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是要共享的目錄;*代表所有的客戶機(jī)都可以掛接此文件系統(tǒng);rw代表客戶機(jī)以讀寫許可來(lái)掛接它們的根文件系統(tǒng);no_root_squash 選項(xiàng)允許客戶機(jī)以主機(jī)上的root身份掛接根文件系統(tǒng)。保存退出。

(3)重啟服務(wù)

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

每當(dāng)修改了/etc/exports都要重啟服務(wù)以便修改生效。

5、安裝一些庫(kù)

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

6、建立工作目錄

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

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

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

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

QTOPIA_INSTALL為主機(jī)上qtopia最終的安裝目錄,這里將安裝路徑獨(dú)立出來(lái)是為了方便在目標(biāo)板上進(jìn)行nfs掛載調(diào)試使用。

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

8、修改部分源碼

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

  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: 這兩個(gè)文件包含控制液晶屏亮度函數(shù)和一些優(yōu)化qotpia core 的宏定義,用戶可自己設(shè)定

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

  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)修改時(shí)區(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即時(shí)區(qū)文件所在的路徑,這里對(duì)它進(jìn)行修改是必要的。否則qtopia運(yùn)行時(shí)候會(huì)到默認(rèn)路徑/usr/share/zoneinfo尋找時(shí)區(qū)文件。注意,這里的“/mnt”即qtopia在開(kāi)發(fā)板文件系統(tǒng)中的所在路徑,要和環(huán)境變量$QTOPIA_RUN_ON_TARGET一樣。

9、生成Makefile文件

建立一個(gè)空文件Configure.sh,

并拷貝下列內(nèi)容:

  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交叉編譯時(shí)默認(rèn)是使用arm-linux-gcc編譯的,從-xplatform 參數(shù)指定的路徑linux-arm-g++下,我們可以找到qmake.conf文件,里面定義了交叉編譯所使用的工具, QMAKE_CC默認(rèn)為arm-linux-gcc。所以,若有人使用了其他名字的交叉編譯工具,需要在qmake.conf文件進(jìn)行修改或?qū)⒕幾g工具連接為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

默認(rèn)安裝時(shí)沒(méi)有拷貝時(shí)區(qū)信息,需要手動(dòng)拷貝

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

12、運(yùn)行qtopia

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

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

主機(jī)IP地址設(shè)置為192.168.1.101,子網(wǎng)掩碼255.255.255.0,網(wǎng)關(guān)192.168.1.1

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

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

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

在開(kāi)發(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”為屏幕的可視面積大小,與具體的設(shè)備尺寸有關(guān)系

  1. 12.3運(yùn)行qpe  
  2. #qpe& 

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

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

校準(zhǔn)完后會(huì)在/etc目錄下生成Pointercal校準(zhǔn)文件,每次觸摸屏啟動(dòng)都會(huì)讀取該文件內(nèi)容進(jìn)行觸摸屏設(shè)定。還有一種方法是利用TSLIB庫(kù)的校準(zhǔn)程序來(lái)進(jìn)行校準(zhǔn),將TSLIB交叉編譯到目標(biāo)機(jī)上,然后運(yùn)行ts_calibrate程序。

校準(zhǔn)完畢后就可正常使用qpe。

注意:

1、首先假定開(kāi)發(fā)板觸摸屏驅(qū)動(dòng)工作正常??梢酝ㄟ^(guò)如下的辦法簡(jiǎn)單的測(cè)試一下:

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

如果報(bào)錯(cuò)則說(shuō)明設(shè)備未能正確添加。需要先解決觸摸屏驅(qū)動(dòng)問(wèn)題。

2、Qtopia運(yùn)行時(shí)可能需要的一些額外庫(kù),

  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/ 

小結(jié):Ubuntu 8.04下編譯運(yùn)行Qtopia 4.3.2過(guò)程的內(nèi)容介紹完了,Ubuntu的推出,又給LINUX添加了新印象。最后希望本文對(duì)你有所幫助吧!

責(zé)任編輯:zhaolei 來(lái)源: 互聯(lián)網(wǎng)
相關(guān)推薦

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

2011-03-25 14:13:07

2010-03-16 18:40:59

Ubuntu8.04

2010-03-16 10:13:13

2011-09-14 15:04:47

Android 2.2

2009-12-07 09:52:06

Ubuntu9.10/

2011-09-07 09:47:35

UbuntuAndroid

2011-08-29 16:31:30

UbuntuAndroid

2011-06-21 17:01:44

Qt 靜態(tài) 編譯

2009-07-02 11:39:32

JSP平臺(tái)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)