Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1044095
  • 博文数量: 254
  • 博客积分: 10185
  • 博客等级: 上将
  • 技术积分: 2722
  • 用 户 组: 普通用户
  • 注册时间: 2007-07-25 15:04
文章存档

2011年(8)

2009年(1)

2008年(31)

2007年(214)

分类: LINUX

2007-07-25 18:31:13

#######需要的相关软件包:
qt-embedded-2.3.10-free.tar.gz
qt-x11-2.3.2.tar.gz
tmake-1.13.tar.gz
tslib.tar.gz
#######解压上面的相关包以后,有以下几个目录:
qt-2.3.10
qt-2.3.2
tmake-1.13
tslib
tslib-install
这些解压以后的目录都放在同一个目录下,例如,我把他们都放在了/root/myTslib/下
#######设置相关的环境变量
这些环境变量都是在/root/myTslib/ 下设置的,因为我把上面解压以后的文件夹放在了此目录下.
export QTEDIR=$PWD/qt-2.3.10
export QT2DIR=$PWD/qt-2.3.2
export TMAKEDIR=$PWD/tmake-1.13
export TSLIBDIR=$PWD/tslib
export TSLIBINST=$PWD/tslib-install
export LD_LIBRARY_PATH=$TSLIBINST/lib
export CC=arm-linux-gcc
cd tslib
./autogen.sh --host=arm-linux --prefix=$TSLIBINST

此时参照我的另外一个问题解决贴进行Q1的解决:
http://blog.chinaunix.net/u1/44087/showart_346684.html

make -j4
make install
########注意::在编译qte-2.3.10和qte-2.3.2时,$TMAKEDIR/lib/qws/linux-arm-g++/tmake.conf文件中
             “TMAKE_LINK= arm-linux-gcc”
             “TMAKE_LINK_SHLIB= arm-linux-gcc”
              一定是上面的那样,用gcc
#####cp tslib to qte lib dir
cp -a $TSLIBDIR/src/.libs/*   $QTEDIR/lib/
cp -a $TSLIBDIR/plugins/.libs/*.so  $QTEDIR/lib/
cp -a $TSLIBINST/bin/*     $QTEDIR/bin
cp -a $TSLIBINST/etc/ts.conf  $QTEDIR/.
cp -a  $TSLIBINST/include/ts*  $QTEDIR/include/.
####Build Qt/X11 2.3.2
cd $QT2DIR
export TMAKEPATH=$TMAKEDIR/lib/linux-g++
export QTDIR=$QT2DIR
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
make clean
./configure -no-opengl -no-xft

此时参照我的另外一个问题解决贴进行Q1的解决:
http://blog.chinaunix.net/u1/44087/showart_346618.html

make
cp -f bin/uic $QTEDIR/bin/       //没有这一步也性

#####Build Qt/Embedded
编译之前要修改一些东西
1.在 qt-2.3.10/src/kernel/ 下,修改qwsmouse_qws.cpp程序,此文件中有3处/etc/pointercal,把这3处的etc修改成tmp
 ,因为开发板是在/tmp/下找到校正信息温暖文件的,"pointercal"这个名子随便改,只要在接下来的环境变量设置时,
写成相应的就行(看接下来的几步)
2.修改 /qt-2.3.10/configs/linux-arm-g++-shared文件:
  #Linking application下的SYSCONF_LIBS = -lm  修改为 SYSCONF_LIBS=-lm -lts
  #Linking shared libraries 下的 SYSCONF_LINK_SHLIB=arm-linux-gcc修改为
   SYSCONF_LINK_SHLIB=arm-linux-gcc -lts
修改完后,开始编译 qte-2.3.10
cd $QTEDIR
export TMAKEPATH=$TMAKEDIR/lib/qws/linux-arm-g++
export QTDIR=$QTEDIR
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QT2DIR/lib:$QTDIR/lib:$LD_LIBRARY_PATH
   cp -f ../qconfig-large.h   src/tools/qconfig-my.h
   上面的cp命令中的 qconfig-large.h是老师给的一个头文件
/configure -xplatform linux-arm-g++ -qconfig my -no-qvfb -depths 16 -tslib -thread -I$TSLIBINST/include -L$TSLIBINST/lib    

此时参照我的另外一个问题解决贴进行Q2的解决:
http://blog.chinaunix.net/u1/44087/showart_346618.html
 
make sub-src
这样编译工作就完成了,生成的支持触摸屏的库在qte-2.3.10/lib下,把这些库考到开发板的/usr/lib/下即可
########以下为arm2410-S开发板上的工作
设置环境变量
export QTDIR=/usr/
export QTEDIR=/usr/
export TSLIB_TSDEVICE=/dev/input/event0
export TSLIB_CONFFILE=/tmp/ts.conf
export TSLIB_CONSOLEDEVICE=none
export TSLIB_CALIBFILE=/tmp/pointercal    //这一个和上面的编译qte时修改etc的相对应
export TSLIB_PLUGINDIR=/usr/lib
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib
export QWS_SIZE=640x480
export QWS_MOUSE_PROTO="TPanel:/dev/input/event0 USB"
export LANG=zh_CN
insmod /mnt/yaffs/touchscreen/ts-uptech.o
在主机的tslib-install/etc有ts.conf,把他考到开发板的/tmp下.
再把tslib-install/bin下的三个可执行程序ts_calibrate,ts_print,ts_test考到开发板上,其中ts_calibrate为触摸屏的
校正程序.
在开发板上运行ts_calibrate进行校验,此时会在开发板的/tmp/下生成上面提到的pointercal程序文件,此程序是为
以后应用程序服务的,要用他来进行校正.
##########编译应用程序测试
在主机上编译一个应用程序,在qte-2.3.10/exmples/下有应用序.
注意: 编译应用程序时,要修改tmake-1.13/lib/qws/linux-arm-g++/tmake.conf文件
        将其中的: “TMAKE_LINK= arm-linux-gcc”
                  “TMAKE_LINK_SHLIB= arm-linux-gcc”
        修改为  : “TMAKE_LINK= arm-linux-g++”
                 “TMAKE_LINK_SHLIB= arm-linux-g++”
编译应用程序需要的环境变量:
             TMAKEDIR,TMAKEPATH,QTEDIR,QTDIR
    其中QTDIR指向QTEDIR
阅读(1578) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~