当前位置:文档之家› QT移植与开发环境搭建

QT移植与开发环境搭建

QT移植与开发环境搭建
QT移植与开发环境搭建

一:软硬件

1. 主机: ubuntu 8.04

2. 平台:devkit8000(omap3530)

3. tslib-1.4

4. QT版本: qt-embedded-linux-opensource-src-4.4.3.tar.gz

5. 交叉编译工具:arm-none-linux-gnueabi-2007q3

二: 移植tslib

1.

tar xzvf tslib-1.4.tar.gz

export CC=arm-none-linux-gnueabi-gcc

export CXX=arm-none-linux-gnueabi-g++

2.

cd tslib/

./autogen.sh

执行这条命令可能会报错,需要安装以下工具:

sudo apt-get install autoconf

sudo apt-get install automake

sudo apt-get install libtool

3.

echo "ac_cv_func_malloc_0_nonnull=yes" >arm-none-linux-gnueabi.cache

./configure --host=arm-none-linux-gnueabi --cache-file=arm-none-linux-gnueabi.cache --enable-inputapi=no PLUGIN_DIR=/home/tslib/plugins -prefix=/home/tslib/build

--cache-file=arm-none-linux-gnueabi.cache 2>&1 | tee conf_log

4.

make 2>&1 | tee make_log

make install

5. 将/home/tslib/build/lib下除去pkgconfig目录外其他所有文件拷贝到开发板/lib目录下

6. 将/home/tslib/build/etc下的ts.conf拷贝到开发板的/etc下

module_raw input

module pthres pmin=1

module variance delta=30

module dejitter delta=100

module linear 注意只留这几行,其他的必须全部删掉,包括注释。

7. 设置环境变量,在开发板文件系统的/etc/profile文件里添加以下命令:

export TSLIB_TSDEVICE=/dev/input/event2(我的板子是这个设备,其他板子可能会不同) export TSLIB_CONFFILE=/etc/ts.conf

export TSLIB_PLUGINDIR=/lib/ts

export TSLIB_CALIBFILE=/etc/pointercal

export TSLIB_CONSOLEDEVICE=none

export TSLIB_FBDEVICE=/dev/fb0

8. 运行/tslib/build/bin中的测试程序,以检测tslib是否移植成功

./ts_caliberate ./ts_test

假如液晶屏的设备节点不是/dev/input/event2,则会出现以下错误:

selected device is not a touchscreen I understand

这时你就需要在/dev/input/中寻找自己的节点了。

三、移植QT

1. tar zxvf qt-embedded-linux-opensource-src-4.4.3.tar.gz –C /home

cd qt-embedded-linux-opensource-src-4.4.3

2. 修改mkspecs/qws/linux-arm-g++/qmake.conf文件,替换所有arm-linux为arm-none-linux-gnueabi,并添加如下2行,即tslib生成的库文件。

QMAKE_INCDIR +=/home/tslib/build/include

QMAKE_LIBDIR +=/home/tslib/build/lib

3. 配置QT(主要是根据自己的开发选择库)

./configure -embedded arm -xplatform qws/linux-arm-g++ -depths 4,8,16,32 -no-qt3support -prefix /home/qt/target -fast -qt-sql-sqlite -no-libtiff

-no-libmng -qt-libjpeg -qt-zlib -qt-libpng -qt-freetype -optimized-qmake

-no-nis -no-separate-debug-info -no-qvfb -qt-gfx-linuxfb -no-gfx-qvfb

-qt-kbd-usb -no-kbd-qvfb -no-mouse-qvfb -no-mouse-linuxtp -qt-mouse-pc -qt-mouse-tslib -no-mmx -no-3dnow -no-sse -no-sse2

/////////////////////////////////////////////////////////////////////////////////

./configure -embedded arm -xplatform qws/linux-arm-g++ -depths 4,8,16,32 -no-qt3support -fast -qt-sql-sqlite -no-libtiff -no-libmng -qt-libjpeg -qt-zlib

-qt-libpng -qt-freetype -optimized-qmake -no-nis -no-separate-debug-info

-no-qvfb -qt-gfx-linuxfb -no-gfx-qvfb -qt-kbd-usb -no-kbd-qvfb

-no-mouse-qvfb -no-mouse-linuxtp -qt-mouse-pc -qt-mouse-tslib -no-mmx -no-3dnow -no-sse -no-sse2

/////////////////////////////////////////////////////////////////////////////////

./configure -qt-kbd-tty -qt-gfx-linuxfb -no-gfx-transformed -no-gfx-multiscreen -qt-mouse-pc -no-gfx-qvfb -no-gfx-vnc -qt-kbd-tty -qt-gfx-linuxfb -no-gfx-qvfb -no-gfx-vnc -qt-mouse-tslib -no-glib -prefix /home/qte4.8.0-arm -embedded arm -release -shared -fast -no-largefile -qt-sql-sqlite -no-qt3support -no-xmlpatterns -no-mmx -no-3dnow -no-sse -no-sse2 -no-svg -no-webkit -qt-zlib -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -make libs -nomake tools -nomake examples

-nomake docs -nomake demo -no-nis -no-cups -no-iconv -no-dbus -no-openssl -xplatform qws/linux-arm-g++

-little-endian -qt-freetype -depths 4,8,16,32 -I /home/tslib/build/include -L /home/tslib/build/lib -v

-D__ARM_ARCH_5TEJ__

./configure –help 可查看各配置选项的意思

4. 编译(需要等很久)

make && make install

5.下载测试

1) 拷贝/home/qt/target下整个lib目录到开发板下/opt/qtopia目录下

2) 删掉/opt/qtopia/lib/fonts目录下多余的字体文件,只留下cour.pfa和cursor.pfa 两个文件。

3) 设置环境变量,在开发板文件系统的/etc/profile文件里添加以下命令:

export QTOPIA=/opt/qtopia

export LD_LIBRARY_PATH=$QTOPIA/lib:$LD_LIBRARY_PATH

export PATH=$QTOPIA/bin:$PATH

export QWS_MOUSE_PROTO=tslib:/dev/input/event2

export QWS_DISPLAY="LinuxFb:mmWidth100:mmHeight130:0"

export QT_QWS_FONTDIR=/opt/qtopia/lib/fonts

4) 拷贝/home/qt/target/examples/tutorials/下的任一测试程序到开发板下

/opt/qtopia/bin目录下并运行。

如遇到测试程序找不到libstdc++.so.6时,可将交叉编译器中的libstdc++.so.6.0.9改成libstdc++.so.6后,并拷贝到开发板的/lib下即可。

四、QT开发环境搭建

方法一:编译源码产生开发所需要的库文件和工具。(这种方法费时,而且由于系统库的问题,可能编译不过)

1、下载qt-x11-opensource-src-4.4.3.tar.bz2

2、tar jxvf qt-x11-opensource-src-4.4.3.tar.bz2 –C /home

3、

cd qt-x11-opensource-src-4.4.3

./configure

make && make install

4、

export QTDIR=/usr/local/Trolltech/Qt-4.4.3(如果你在./configure的时候,没有指定-prefix的话,这个便是默认路径)

export PATH=$QTDIR/bin:$PATH

export LD_LIBRARY_PATH=$ QTDIR:$ LD_LIBRARY_PATH

方法二:通过新立得获得

apt-get install libqt4-dev

建议使用此种方法,注意你的X11版本不应高于qt-embedded。我装的4.3.4版本。

五、验证QT开发环境

1、将任意源码,这里假设为main.cpp拷到/home/qt-4.3.4下

2、qmake –project –o main.pro 生成main.pro

3、qmake –makefile 生成Makefile

4、make 生成./main

5、./main 可在x86环境下看运行效果

6、交叉编译main.cpp

这里主要完成的工作就是将QTDIR指向qt-embedded的install目录。

export QTDIR=/home/qt/target

export PATH=$QTDIR/bin:$PATH

export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

然后重复1-5。将执行程序下载到开发板即可。运行过程,参见下载测试。

相关主题
文本预览
相关文档 最新文档