qt-embedded-linux-opensource-src-4.5.3移植到s3c6410

首先要有配置好的環境,本文使用的編譯環境如下:

主機系統:Ubuntu 9.10
主機編譯器:gcc 版本 4.4.1
交叉編譯器:arm-linux-gcc-4.0.1
軟件資源:qt-embedded-linux-opensource-src-4.5.3.tar.gz
?qt-x11-opensource-src-4.5.1.tar.gz

?

移植過程:

平時程序都是在PC上完成的,所以我們需要先安裝X11版的Qt來獲得qvfb這個工具。嵌入式的開發有了qvfb,就可以不需要實際的開發板,也可以開發Qt應程序。

qt-x11-opensource-src-4.5.1編譯安裝過程:

1.解壓文件

將qt-x11-opensource-src-4.51.tar.gz復制到/root/local/qt目錄下,進行解壓,在終端中進行如下操作:

#cd /root/local/qt

#tar zxvf qt-x11-opensource-src-4.5.1.tar.gz

解壓完成后,得到/usr/local/qt/qt-x11-opensource-src-4.5.1目錄。下面就開始進行編譯了。

2.編譯及安裝qt-x11-opensource-src-4.5.1

進入/usr/local/qt/qt-x11-opensource-src-4.5.1目錄,進行編譯安裝。在終端中進行如下操作:

#./configure –qvfb

#make

#cd tools/qvfb

#make

#cd ../..

#make install

3.復制文件

make install 完 成后,會在/usr/local目錄下生成一個Trolltech目錄,形成/usr/local/Trolltech目錄,這是qt-x11- opensource-src-4.5.1安裝后所在的目錄,進入/usr/local/Trolltech會看到一個Qt-4.5.1的目錄,將 /usr/local/qt/qt-x11-opensource-src-4.5.1/tools/qvfb目錄下的qvfb相關文件拷貝到/usr /local/Trolltech/Qt-4.5.1/bin目錄下,在終端中操作(確定當前目錄是/usr/local/qt/qt-x11- opensource-src-4.5.1):

#cp tools/qvfb/qvfb* /usr/local/Trolltech/Qt-4.5.1/bin

?

qt-embedded-linux-opensource-src-4.5.1編譯安裝過程,為了程序開發的便捷性,我安裝了x86版和arm版,先在PC上使用x86版和qvfb開發,完成以后再使用arm版交叉編譯放到開發版上運行。

編譯及安裝qt-x11-opensource-src-4.5.1-arm

安裝這個是最為關鍵的,因為編譯好后要把lib拷貝到板子上

對于觸摸屏幕,我使用的是 tslib1.4

交叉編譯tslib過程如下:

解壓到/home下

#./autogen.sh
#./configure --prefix=/home/duancp/mytslib/ --host=arm-linux ac_cv_func_malloc_0_nonnull=yes (可以先生成個cache文件)

#make

#make install-strip //生成瘦身應用程序和庫

編譯qt-x11-opensource-src-4.5.1-arm

進入/usr/local/qt/qt-x11-opensource-src-4.5.1-arm目錄,進行編譯安裝。在終端中進行如下操作:

./configure -prefix /usr/local/QtEmbedded-4.5.2 -embedded arm -no-webkit -qt-mouse-tslib

?qws/linux-arm-g++/qmake.conf中添加:

QMAKE_INCDIR = tslib -build/include # path to compiled includes
QMAKE_LIBDIR = tslib -build/lib # path to compiled libs

#make

#make install

漫長的編譯結束后將在主機(Ubuntu)下的/usr/local/QtEmbedded-4.5.2 得到編譯后的結果。

設置在ARM中運行時的環境變量

上面步驟之后已經得到了可用的 Qte,把整個 QtEmbedded-4.5.2 目錄復制到板子根目錄

的/usr/local/路徑下。接著在板子的/usr/local/QtEmbedded-4.5.2 中添加腳本文件setenv-arm.sh,

添加如下內容:

?

export QTDIR=/usr/local/QtEmbedded-4.5.2

export QPEDIR=/usr/local/QtEmbedded-4.5.2

export PATH=$QTDIR/bin:$PATH

export LD_LIBRARY_PATH=$QTDIR/lib:/usr/local/lib:$LD_LIBRARY_PATH

export TSLIB_TSDEVICE=/dev/input/event1

export TSLIB_CONFFILE=/usr/local/etc/ts.conf

export TSLIB_PLUGINDIR=/usr/local/lib/ts

export TSLIB_CALIBFILE=/etc/pointercal

export QT_QWS_FONTDIR=/usr/local/QtEmbedded-4.5.2/lib/fonts

export QWS_MOUSE_PROTO="TSLIB:/dev/input/event1 USB:/dev/input/mice"

export QWS_SIZE='480x272'

export QWS_KEYBOARD=TTY:/dev/tty1

?

不過為了防止權限不足的問題,在主機上先給與這個文件可執行屬性:

sudo chmod 777 setenv-arm.sh

注意紅色部分字體的設置是非常重要的,主要是指定觸摸屏的工作參數。最后一句是自

動運行特定的程序,保存退出,并進入板子 shell 界面執行這個腳本:

cd /usr/local/QtEmbedded-4.5.2

./setenv-arm.sh

接著便可以運行一下自帶的那些測試程序了:

/usr/local/QtEmbedded-4.5.2/examples/graphicsv

iew/collidingmice/collidingmice -qws -fn wenquanyi

?

注意:需要提醒用戶注意的是,qtopia-2.2.0 的運行和 Qte-4.5.2 的運行需要設置不同的

環境變量,因此最好保證兩者沒有同時運行。如果系統中已經運行了 qtopia-2.2.0,請使用

kill 命令將 qtopia 相關的進程都殺死。


本文轉自feisky博客園博客,原文鏈接:http://www.cnblogs.com/feisky/archive/2010/05/30/1747480.html,如需轉載請自行聯系原作者


本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/259301.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/259301.shtml
英文地址,請注明出處:http://en.pswp.cn/news/259301.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C++ 類中特殊的成員變量(常變量、引用、靜態)的初始化方法

<p style"line-height: 19px; margin: 10px auto; color: rgb(75, 75, 75); font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px;">有些成員變量的數據類型比較特別&#xff0c;它們的初始化方式也和普通數據類型的成員變量有所不同…

【Intellij Idea】設置JDK

1&#xff0c;File-->Project Structure 說明&#xff1a;可以設置整個工程的JDK&#xff0c;也設置每個modules的JDK,但是一般整個工程的JDK. 2&#xff0c;或者通過快捷鍵&#xff1a;ctrlaltshifts 轉載于:https://www.cnblogs.com/august-shi/p/6655469.html

c#操作html dom元素,C#獲取與修改HTML DOM元素信息

用C#和JavaScript交互首先要解決C#讀取HTML DOM元素的問題。 在System.Windows.Browser命名空間下&#xff0c;有一個HtmlDocument、HtmlPage、HtmlElement等類&#xff0c;可以用來讀取HTML DOM元素。其讀取方法和JavaScript如出一轍。引用內容&#xff1a; //初始化一個docum…

Hibernate之工具類HibernateUtil

原創文章&#xff0c;轉載請注明&#xff1a;Hibernate之工具類HibernateUtil By Lucio.Yang 1.最簡單的工具類&#xff0c;實現SessionFactory的單例共享&#xff0c;session的管理 package com.cc.hibernate;import org.hibernate.Session; import org.hibernate.SessionFac…

c++讀取文件–結束條件的判斷

轉載&#xff1a;http://blog.sina.com.cn/s/blog_623e3c050100neei.html 在使用C/C讀文件的時候&#xff0c;一定都使用過eof&#xff08;&#xff09;這個函數來判斷文件是否為空或者是否讀到文件結尾了&#xff0c;也會在使用這個函數的過程中遇到一些問題&#xff0c;如不…

繪圖用計算機配置要求,繪圖筆記本電腦基本配置要求 繪圖筆記本推薦

現在很多工業圖、工程圖都需要用電腦來話&#xff0c;比如CAD、PS、三維畫圖這些軟件對電腦的配置要求還是比較高的&#xff0c;還有一些對色彩要求高的動畫軟件&#xff0c;那就更加需要配置了&#xff0c;下面小編就來簡單說說繪圖筆記本電腦最基本的配置要求以及繪圖筆記本推…

關于dllimport的使用

最近做一個動態加載插件的項目&#xff0c;插件中的dll 主要是各廠商各型號的讀卡器的通用類庫&#xff0c;stdapi.dll&#xff0c;WltRS.dll&#xff0c;有的還有進一步封裝的dll&#xff0c;主要是為了簡化通用類庫的操作。 這些類庫都是用C語言&#xff0c;或者C來編寫的&am…

如何在MVCsheet表單頁面的后臺取到頁面自定義字段的值?

問題&#xff1a;<asp:HiddenField id"test" runat"server"/> 在前臺加了這樣一個隱藏元素&#xff0c;mvcsheet表單頁面&#xff0c;如何在后臺獲取到值&#xff0c;直接使用 test.value一直是空的。 前臺經過一系列判斷處理寫入該值&#xff0c;需…

BigDecimal.setScale?處理java小數點

BigDecimal.setScale()方法用于格式化小數點 setScale(1)表示保留一位小數&#xff0c;默認用四舍五入方式 setScale(1,BigDecimal.ROUND_DOWN)直接刪除多余的小數位&#xff0c;如2.35會變成2.3 setScale(1,BigDecimal.ROUND_UP)進位處理&#xff0c;2.35變成2.4 setScale(1,B…

C++的字符串分割函數

轉載&#xff1a;http://blog.csdn.net/shanzhizi/article/details/17189267 C的字符串沒有分割函數&#xff0c;因此需要自己寫方便使用。而受到開發工具的影響&#xff0c;有很多用起來比較麻煩啦&#xff0c;下面這個比較不錯奧。 用STL進行字符串的分割 涉及到string類的…

計算機無法正常更新,無法完成更新正在撤銷更改請不要關閉你的計算機如何修復...

我們電腦開機的時候可能會遇到各種問題&#xff0c;比如就有用戶發現電腦開機的時候&#xff0c;一直提示無法完成更新正在撤銷更改請不要關閉你的計算機&#xff0c;等待了很長時間也進不去系統&#xff0c;遇到這樣的問題該怎么辦呢&#xff1f;不用擔心小編給大家支招&#…

水一篇

發件人標題發送時間處理系統通知您的博客申請已批準2013-10-15 13:58刪除系統通知博客園博客申請通知2013-10-15 12:55刪除系統通知您的博客申請未通過審批2013-10-13 11:21刪除系統通知博客園博客申請通知2013-10-13 11:07刪除系統通知您的博客申請未通過審批2013-10-13 11:06…

如何去掉jQWidgets中TreeGrid和Grid右下角的鏈接

關于如何去掉這個水印&#xff0c;這是官方的說法。 更新了jQWidgets版本&#xff0c;發現在使用過程中發現每次渲染完TreeGrid和Grid后會在表格右下角出現一個www.jqwidgets.com的span標簽。 在相關的腳本中搜索www.jqwidgets.com相關的關鍵字都沒有對應結果。于是準備從其父容…

華為2015年實習生招聘考試試題

第一題&#xff1a; 描述: 目描述&#xff1a; 編寫一個函數&#xff0c;將字符串中的大寫的字母(A~Z)挑出來&#xff0c;同時保留原字符串中的空格&#xff0c;將挑出的大寫字母和空格按原始位置組成新的字符串。 例如&#xff1a; 1&#xff09;輸入&#xff1a;AUStralia&…

【NOIP2011 Day 2】觀光公交

【問題描述】 小城Y市&#xff0c;擁有n個景點。由于慕名而來的游客越來越多&#xff0c;Y市特意安排了一輛觀光公交車&#xff0c;為游客提供更便捷的交通服務。觀光公交車在第0分鐘出現在1號景點&#xff0c;隨后依次前往2、3、4……n號景點。從第i號景點開到第i1號景點需要D…

基本數據類型的自動裝箱

這里以Integer類型舉例&#xff1a; Integer a 1; a 2; 編譯后.calss文件是這樣的 Integer a Integer.valueOf(1); 自動裝箱 a Integer.valueOf(a.intValue() 2); 自動拆箱&#xff0c;再自動裝箱 轉載于:https://www.cnblogs.com/feiZhou/p/9344494.html

自媒體和計算機相關嗎,做自媒體,臺式電腦跟筆記本電腦用哪個好呢?

四阿哥fly回答數&#xff1a;143 | 被采納數&#xff1a;162019-06-29 12:16:21作為去年折騰了一年自媒體&#xff0c;各種情況遇到過&#xff0c;分享下臺式電腦和筆記本到底哪個好&#xff1f;好在哪里&#xff1f;如果真的要選擇&#xff0c;個人還是推薦用臺式比較好。工…

JS腳本顯示當前日期+星期幾[轉]

以下的代碼提供了顯示當前日期和星期幾的實現方法&#xff1a; function writeDateInfo() { var day""; var month""; var ampm""; var ampmhour""; var myweekday""; var…

openCV中waitKey函數介紹

#include <opencv2/opencv.hpp> #include < iostream > #include <window.h> using namespace cv; using namespace std;int main() {Mat im;double duration;im imread("1.jpg");// 測試沒有namedWindow時的waitKey執行時間duration static_cas…

JavaScript indexOf() 方法 和 lastIndexOf() 方法

indexOf() 方法可返回某個指定的字符串值在字符串中首次出現的位置。 lastIndexOf() 方法可返回一個指定的字符串值最后出現的位置&#xff0c;在一個字符串中的指定位置從后向前搜索。 語法&#xff1a; indexOf() &#xff1a; stringObject.indexOf(searchvalue,fromi…