一、tslib移植

第一步:解压tslib-1.4.tar.gz

        tar -zxvf tslib-1.4.tar.gz

第二步:进入解压过的目录

        cd tslib-1.4

第三步:执行tslib-1.4目录下的autogen.sh

        ./autogen.sh

这一步需要安装一些工具:sudo apt-get install automake

第四步:执行autogen.sh脚本所生成的Makefile文件

请打入以下命令:
echo "ac_cv_func_malloc_0_nonnull=yes" >$ARCH-linux.cache
./configure --host=arm-softfloat-linux-gnu   --prefix=/home/linux/tslib --cache-file=$ARCH-linux.cache

--host是指你的交叉编译器的前最;例如:你的交叉编译器是arm-linux-gcc,则--host=arm-linux.如果是arm-softfloat-linux-gnu-gcc
则--host=arm-softfloat-linux-gnu

--prefix 是你执行make install 的时候编译后生成的可执行文件和库文件以及配置文所安装的目录;

configure文件下还有好多选项;你可以执行./configure --help 来进行选择其他项,不过在这里这些选项就够了。

第五步:执行make

第六步:执行make install

2.将tslib打包进Qt

进入源码目录

./configure -embedded arm -no-armfpa -little-endian -qt-gfx-transformed -qt-gfx-linuxfb -nomake demos -nomake examples  -no-phonon -no-qt3support -no-feature-CURSOR -qt-mouse-tslib -L$HOME/tslib/lib -I$HOME/tslib/include

期间遇到好多问题,参考了一些列文章

感谢万能的google,大部分人都能从中找到答案,走向了make之路。但是也有人试了别人的方法都不成功,成了未解之谜。

其实有两个方法,能让我们更深入一点看到我们我们这些错误从何而来,从而帮助我们去自己解决问题。
1。 在./configure 的选项里加上 -verbose选项,出错信息会更丰富,而不是没头没脑的来一句测试失败了
2。 还有个方法就是根据提示的出错信息,去$QTDIR/config.test目录下去找对应的测试例子,因为单独编译,这样你就把问题大大的缩小了,找到问题的概率也变大了。

昨天在本站论坛就 有朋友碰到“The tslib functionality test failed!”的问题,最后通过测试config.test/unix/tslib目录下的小例子(这些小例子正是./configure会调用测试, 给出正确或出错信息的。)最后发现是版本不兼容的原因。

其实还有一个方法,去读./configure文件,这才是真正的×××。 刚开始你可能漫无头绪,其实加些打印(如果是bash写的,就用echo;如果是perl写的,就用print),过一阵之后,你会发现自己几乎解决绝大部分问题。

这是QTCute里面的一段文字,对我们真的很有启发

参考的网站资料:

1.华清远见:×××Column/Column97.htm

2.CuteQt:http://www.cuteqt.com/blog/?tag=%E8%B0%83%E8%AF%95

3.QtForm.org:http://www.qtforum.org/index.php?page=Thread&postID=96421&s=1139c1ca29512d3637ef4ca64d15e0e6863c8c1c#post96421

4.csdn博客:http://blog.csdn.net/chen2qiao/archive/2009/09/14/4550505.aspx