QT移植与开发环境搭建
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一:软硬件
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
/////////////////////////////////////////////////////////////////////////////////