歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Qt環境的搭建X11與Embedded

Qt環境的搭建X11與Embedded

日期:2017/3/1 9:47:20   编辑:Linux編程

Qt 版本:qt4.8.5

qt是一個開源的、跨平台的圖形庫(當然qt的功能不只是圖形庫啦),一般在linux平台中應用比較廣泛。開發者要是使用qt庫進行應用程序的開發,需要對安裝qt的開發環境,說簡單點就是安裝好qt的庫、頭文件及內部工具。我們一般采用源碼包安裝。

准備:

下載源碼包qt-everywhere-opensource-src-4.8.5.tar.gz

像所有的源碼包安裝一樣,qt的安裝也是configure、make、make install這經典的安裝三部曲;而對於大多數人來說難點在於configure這個步驟上,因為選項真的是很多。我一般把這這些選項寫到一個腳本中。

一、X11版本(Ubuntu12.04)

1.configuer

---------------------------這是腳本------------------------

#!/bin/bash
./configure -prefix /opt/qt-4.8.5-x11 \ #安裝位置,缺省/usr/local/Trolltech/Qt-4.8.5
-opensource \ #開源版本
-gtkstyle \ #內嵌gtk主題;沒有此項編譯出來的qt應用程序可選擇的主題少
-fontconfig \ #支持系統字體庫配置;沒有此項qt應用程序可選擇字體很少,特別不美觀
-make tools #編譯一些qt自帶的實用工具,如makeqpf qtconfig 等等

---------------------------這是腳本------------------------

NOTE:

以上這些選項如果你都不配置也是可以通過的。如果不顯示的給出這些選項一般是按缺省值或者config.test來進行系統環境的測試來決定是否開啟哪些選項。以上的這些選項是比較實用的,建議顯示啟用。

特別是fontconfig選項沒啟用,那麼你在用qtconfig為應用程序配置字體是會發現只有幾種字體選擇。

啟用以上選項後,可能出現一些錯誤信息,主要是一些庫缺失引起的。

freetype錯誤:

apt-get install libfreetype6-dev

ln -s /usr/include/freetype2/freetype /usr/include/freetype

fontconfig錯誤:

apt-get install libfontfig1-dev

2.make

3.make install

經過以上步驟,你的qt會安裝在你指定的安裝目錄中,其中bin文件中有一些qt內部工具如:qmake qtconfig makeqpf;如果你是用qtcreator來開發那麼就不需要在系統中配置環境變量了,如果你就要命令行來工作那就配置PATH 和QT_DIR(其實這個不配置也可以)這兩個環境變量就行了。

二、Embedded版本

1.configuer

---------------------------這是腳本------------------------

#!/bin/bash

./configure -prefix /opt/qt-4.8.5-arm \
-opensource \
-embedded arm \ #arm平台
-xplatform qws/linux-arm-g++ \ #編譯工具,對應arm-linxu-g++
-no-webkit \ #不支持webkit功能
-qt-libtiff \ #支持tiff字體
-qt-libmng \ #支持mng
-qt-mouse-pc \
-qt-mouse-tslib \
-qt-mouse-linuxtp \
-no-neon \
-qt-gfx-qvfb \
-qt-gfx-transformed \ #旋轉屏支持
-qt-kbd-qvfb \
-qt-mouse-qvfb \
-make tools

---------------------------這是腳本------------------------

NOTE:

我是在FriendlyARM Tiny210v2 開發板提供的交叉工具鏈來編譯的,其他的沒測試。有問題,安裝好庫就OK了。

2.make

3.make install

經過以上步驟,你的qt會安裝在你指定的安裝目錄中,其中bin文件中有一些qt內部工具如:qmake qtconfig makeqpf;如果你是用qtcreator來開發那麼就不需要在系統中配置環境變量了,如果你就要命令行來工作那就配置PATH 和QT_DIR(其實這個不配置也可以)這兩個環境變量就行了。
4.目標板環境搭建

將qt安裝目錄中的lib imports plugins mkspecs 拷貝到開發目標版中指定目錄

(一定要跟你編譯時的目錄對應,如我的:opt/qt-4.8.5-arm)

配置一些環境變量(如何配置開後面),配置好了寫個測試程序。記得運行時一定要加-qws

如 : ./test -qws

環境變量設置,我就不想多說了,我喜歡寫成到腳步中,我也不解釋了,一看就明白

---------------------------這是腳本------------------------

#!/bin/sh

if [ -e /dev/touchscreen-1wire ] ; then
TSLIB_TSDEVICE=/dev/touchscreen-1wire
else
TSLIB_TSDEVICE=/dev/touchscreen
fi

if grep -Ei "\<ctp=(1|2|3)\>" /proc/cmdline >/dev/null; then
TSLIB_CONFFILE=/etc/ts-mt.conf
else
TSLIB_CONFFILE=/etc/ts.conf
fi

export TSLIB_TSDEVICE
export TSLIB_CONFFILE
export TSLIB_PLUGINDIR=/usr/lib/ts
export TSLIB_CALIBFILE=/etc/pointercal

export QTDIR=/opt/qt-4.8.5-arm
export QPEDIR=/opt/qt-4.8.5-arm
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:/usr/local/lib:$LD_LIBRARY_PATH

if [ -c ${TSLIB_TSDEVICE} ]; then
export QWS_MOUSE_PROTO="Tslib:${TSLIB_TSDEVICE}"
if [ -e /etc/pointercal -a ! -s /etc/pointercal ] ; then
rm /etc/pointercal
fi
else
export QWS_MOUSE_PROTO="USB:/dev/input/mice"
>/etc/pointercal
fi

export QWS_KEYBOARD="TTY:/dev/tty1"
#export QWS_DISPLAY="Transformed:mmWidth66:mmHeight114:Rot90:0"

FB_SIZE=$(cat /sys/class/graphics/fb0/virtual_size)

case "$FB_SIZE" in
800,480)
export QWS_DISPLAY="LinuxFb:mmWidth91:mmHeight53:1"
;;
480,272)
export QWS_DISPLAY="LinuxFb:mmWidth76:mmHeight44:1"
;;
*)
#export QWS_DISPLAY="LinuxFb:mmWidth91:mmHeight53:1"
#7.0
#export QWS_DISPLAY="Transformed:Rot270:LinuxFb:mmWidth154:mmHeight86:1"
#3.5
export QWS_DISPLAY="Transformed:Rot270:LinuxFb:mmWidth70:mmHeight53:1"
;;
esac

file_path=`dirname $1`
file_name=`basename $1`
options=${@#$1}
cd $file_path
CMDPATH=`pwd`/
${CMDPATH}$file_name $options


---------------------------這是腳本------------------------


裡面有些是外設的設置如:觸摸屏,顯示屏等,改成你板子相關的就行了,不配置也可以呀,不要這些功能呗。

把腳本拷到bin下去


那你就可以這樣運行你的qt程序了(假設腳本名qt4.8.5 程序名 test)

qt4.8.5 test -qws

Qt 的詳細介紹:請點這裡
Qt 的下載地址:請點這裡

Copyright © Linux教程網 All Rights Reserved