成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Ubuntu 8.04下編譯運行Qtopia 4.3.2過程

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

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

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

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

步驟:

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

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

  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系統已經有這個文件夾,這步就跳過)

  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后能有版本顯示則交叉編譯環境已經建立了。

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

(3)重啟服務

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

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

5、安裝一些庫

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

6、建立工作目錄

創建 /work/qtopia_arm/nfs

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

7、定義兩個環境變量方便編譯

  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板文件系統中的所在路徑。如果采用NFS方式,一定要將qtopia掛載到QTOPIA_RUN_ON_TARGET指定的路徑即/mnt ,因為qtopia運行的絕對路徑已經被編譯進可執行文件中。

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: 這兩個文件包含控制液晶屏亮度函數和一些優化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)修改時區信息讀取路徑

  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即時區文件所在的路徑,這里對它進行修改是必要的。否則qtopia運行時候會到默認路徑/usr/share/zoneinfo尋找時區文件。注意,這里的“/mnt”即qtopia在開發板文件系統中的所在路徑,要和環境變量$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 

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

注:1) 這里需要提的是qtopia交叉編譯時默認是使用arm-linux-gcc編譯的,從-xplatform 參數指定的路徑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

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

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

12、運行qtopia

(1)啟動好開發板后(內核+文件系統),掛載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,子網掩碼255.255.255.0,網關192.168.1.1

開發板IP地址設置為192.168.1.168,子網掩碼255.255.255.0,網關192.168.1.1

(2)設置環境變量

導入某些環境變量,使qtopia正常工作

在開發板上執行:

  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出現畫面之后,啟動觸摸屏校正程序

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

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

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

注意:

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

  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 來源: 互聯網
相關推薦

2011-06-20 09:58:17

Qt Qtopia 移植

2011-01-21 17:01:34

Zimbra

2009-02-18 19:13:25

2009-12-29 17:21:24

Ubuntu 8.04

2010-09-09 17:41:52

ubuntu8.04tftp

2011-07-05 16:31:17

Qtopia 交叉編譯

2010-01-07 10:14:41

2012-08-13 17:34:11

ubuntu操作系統

2011-07-05 14:06:17

編譯 Qt

2010-03-16 10:28:44

Ubuntu 8.04

2023-03-09 11:02:40

linux編譯源碼

2010-03-16 18:40:59

Ubuntu8.04

2010-03-16 10:13:13

2011-03-25 14:13:07

2009-07-02 11:39:32

JSP平臺

2010-03-02 17:29:47

Ubuntu 8.04

2010-03-15 16:16:41

Ubuntu 8.04

2011-08-29 16:31:30

UbuntuAndroid

2011-09-07 09:47:35

UbuntuAndroid

2011-06-21 17:01:44

Qt 靜態 編譯
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 99久热在线精品视频观看 | 亚洲欧美在线免费观看 | 91亚洲精品国偷拍自产在线观看 | 免费一级大片 | 日韩在线播放网址 | 欧美a区 | 国产区精品在线观看 | 九九久久精品 | 亚洲视频中文字幕 | 日日夜夜天天 | 国产精品国产精品国产专区不卡 | 九色视频网站 | 欧美一级二级在线观看 | 日韩毛片免费视频 | 国产女人叫床高潮大片免费 | 久久99国产精一区二区三区 | 国产一区二区三区在线 | 在线免费观看成人 | 国产蜜臀 | 亚洲欧洲精品成人久久奇米网 | 91精品国产日韩91久久久久久 | 性色av网站 | 国产96在线 | 亚洲综合激情 | 午夜影院污 | 国产精品毛片无码 | 精品国产黄色片 | 欧美色欧美亚洲另类七区 | 亚洲午夜精品一区二区三区 | 国内久久| 一区二区三区国产 | 亚洲视频在线看 | 日本久草视频 | 日韩国产中文字幕 | 久久久91| 日本一二三区电影 | 武道仙尊动漫在线观看 | 欧美一二三 | 一区二区三区日韩精品 | 天天操天天操 | 婷婷国产一区二区三区 |