平台:ubnutu10.04
交叉編譯器:arm-linux-gcc-3.4.1
在qtqt-everywhere-opensource-src-4.8.1.tar
,解壓為3
份,可分別命名為
qt-x11
,qt-x86
,qt-armqt-x11版本可以產生
qt開發工具:
designer——qt介面的設計工具
qvfb——qt的虛擬緩衝幀,嵌入式的開發有了
qvfb
,就可以不需要實際的開發板,也可以開發
qt應用程
uic——可以把
qt的介面描述檔案轉化為相應的 .h和
.cpp
檔案moc——把
qt的訊號和插槽的定義翻譯為標準的
c++語法
qt-x86是基於
x86架構的嵌入式版本:
如果我們想在pc
機上進行嵌入式程式的**,就可以用
qvfb
來模擬嵌入式的顯示器,但是
qvfb
只能執行
x86架構的應用程式,所以需要生成關於
x86的庫和其他檔案,如果不需要在
pc機上**執行嵌入式程式,而是在板子上直接執行和除錯,則可以不需要這個版本
qt-arm是基於
arm架構的嵌入式版本:
我最終的qt
應用程式需要在
arm架構上面執行,因此必然需要這方面的庫,使用
qt-arm
庫編譯就可以得到在
arm上能執行的可執行程式
step 1:unpacking the archive
tar xvf qt-everywhere-opensource-src-4.8.2.tar # unpack it
step 2:building the library
cd /tmp/qt-everywhere-opensource-src-4.8.2
./configure
make
make install
step 3:set the environment variables
in .profile (if your shell is bash, ksh, zsh or sh), add the following lines:
path=/usr/local/trolltech/qt-4.8.2/bin:$path
export path
進入x86
目錄# ./configure -embedded x86 -qt-gfx-qvfb -qt-kbd-qvfb -qt-mouse-qvfb
# make
# make install
把tslib-1.4.tar.gz
放到乙個目錄下,比如
/opt
目錄下。接著執行命令如下:
#tar zxvf tslib-1.4.tar.gz
執行命令cd tslib
,進入tslib
當前目錄
,接著執行命令如下
#./autogen.sh
然後接著執行配置命令:
#./configure
--prefix=/usr/local/tslib --host=arm-linux ac_cv_func_malloc_0_nonnull=yes
最後執行編譯命令和安裝命令如下:
make
make install
如果以上步驟沒錯,則可以在/usr/local/tslib
下出現我們需要的庫檔案,這些庫檔案我們移植時會用到。
編譯期間出現的錯誤:./autogen.sh: 4: autoreconf: not found
解決:sudo apt-get install autoconf automake libtool
進入arm
目錄# ./configure \
-prefix
/usr/local/trolltech/qtembedded-4.6.3-arm \
-opensource \
-confirm-license \
-release -shared \
-embedded arm \
-xplatform qws/linux-arm-g++ \
-depths 16,18,24 \
-fast \
-optimized-qmake \
-pch \
-qt-sql-sqlite \
-qt-libjpeg \
-qt-zlib \
-qt-libpng \
-qt-freetype \
-little-endian
-host-little-endian \
-no-qt3support \
-no-libtiff
-no-libmng \
-no-opengl \
-no-mmx
-no-sse
-no-sse2 \
-no-3dnow \
-no-openssl \
-no-webkit \
-no-qvfb \
-no-phonon \
-no-nis \
-no-opengl \
-no-cups \
-no-glib \
-no-xcursor
-no-xfixes
-no-xrandr
-no-xrender \
-no-separate-debug-info \
-nomake examples
-nomake
tools
-nomake docs
必須加上「-prefix /usr/local/trolltech/qtembedded-4.8.1-arm 」
引數,不然安裝後不在
qtembedded-4.8.1-arm
資料夾下,而是覆蓋了
qtembedded-4.8.1
如果放棄配置,則使用命令:# make confclean
編譯:# make
安裝:# make install
編譯安裝pc
版中的
qvfb
:進入
qt-pc/tools/qvfb/目錄,執行如下操作:
#make
編譯完畢,將
qt-pc/bin目錄下的
qvfb
檔案複製到
/usr/local/trolltech/qtembedded-4.8.
1/bin目錄。
測試qvfb:
為了方便使用qvfb
模擬arm
的結果,在環境中新增
qvfb
的路徑輸入命令:
vim/.bashrc編輯
.bashrc
檔案,在檔案末尾加入如上面的內容
export path=/usr/local/trolltech/qtembedded-4.8.
1/bin:$path
重啟,測試是否加入成功
echo $path
看是否顯示剛才新增的路徑 測試
命令:#qvfb -width 800 -height 480 &
其中&表示後台執行。
qtcreator遠端除錯arm板的介面程式
該類文章網上比較多。自己總結了一下。1.搭建nfs檔案系統 在虛擬機器上修改 etc exports檔案加入 mnt nfs 192.168.10.100 rw,root squash 共享 mnt nfs 目錄給192.168.10.100的機器即arm板 在arm板的終端執行mount t nf...
Qtcreator配置 交叉編譯arm程式
大家知道在windows下使用qtcreator整合ide開發環境開發qt程式,甚至是其他與qt無關的程式,在此過程中大家也可能感受到了它的魅力,呵呵,那麼,各位朋友有沒有使用它在linux下開發自己的程式了?更有甚者,用它來交叉編譯arm程式了?答案是可能的,而且相當方便。好了,下面我來帶大家感受...
QtCreator使用arm編譯器
構建工具鏈各種不和諧,心一狠,直接改最原始的配置檔案 1.首先你得有乙個arm gcc的編譯器,至少能看版本 arm linux gcc v 2.然後在qt的安裝目錄上找到 opt qtsdk desktop qt 474 gcc mkspecs linux g 把它複製貼上arm linux g ...