Chinaunix首页 | 论坛 | 博客
  • 博客访问: 124412
  • 博文数量: 22
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 284
  • 用 户 组: 普通用户
  • 注册时间: 2013-10-16 11:37
个人简介

不是一个称职的程序员……

文章分类

全部博文(22)

文章存档

2014年(15)

2013年(7)

我的朋友

分类: C/C++

2014-01-11 23:46:26

当编译与安装qt-embedded-linux-opensource-src-xx   (注:xx为版本号)时出现以下错误:
The tslib functionality test failed!
 You might need to modify the include and library search paths by editing
 QMAKE_INCDIR and QMAKE_LIBDIR in
 /../qt-embedded-linux-opensource-src-xx/mkspecs/qws/linux-arm-g++.
解决方法:
1、你应该在/../qt-embedded-linux-opensource-src-xx/mkspecs/qws/linux-arm-g++.这个文件夹下面的qmake文件中进行添加QMAKE_INCDIR=/usr/local/tslib/include/ 
QMAKE_LIBDIR=/usr/local/tslib/lib/
其中/usr/local/tslib/tslib的安装目录,根据自己实际情况修改
2、修改qt-everywhere-opensource-src-xx/mkspecs/qws/linux-arm-g++/qmake.conf 文件(添加lts参数):
QMAKE_CC                = arm-linux-gcc -lts
QMAKE_CXX               = arm-linux-g++ -lts
QMAKE_LINK              = arm-linux-g++ -lts
QMAKE_LINK_SHLIB        = arm-linux-g++ -lts
注意这里的arm-linux-xxxx是相应的交叉工具链,我们需要提前配置好相应工具链的环境变量,本人建议使用工具链的绝对路径,这样才能准确无误的识别该工具链。
然后执行make 和make install即可

关于制定tslib的路径问题,如果以上方法行不通,可以试着在配置是制定相应路径,例如:
  #./configure –prefix=/usr/local/Trolltech/QtEmbedded-4.5.0-arm -arch arm -embedded arm -qt-mouse-tslib -I/usr/local/tslib/include -L/usr/local/tslib/lib  参数我们可以增添删补,来实现不同的功能。

期间遇到好多问题,参考了一些列文章
其实有两个方法,能让我们更深入一点看到我们我们这些错误从何而来,从而帮助我们去自己解决问题。
1。 在./configure 的选项里加上 -verbose选项,出错信息会更丰富,而不是没头没脑的来一句测试失败了,从这里我找到了我的问题,打印出了不识别我的交叉工具链,所以我指定了工具链的绝对路径,编译搞通了。
2。 还有个方法就是根据提示的出错信息,去$QTDIR/config.test目录下去找对应的测试例子,因为单独编译,这样你就把问题大大的缩小了,找到问题的概率也变大了。

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

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

阅读(3218) | 评论(0) | 转发(0) |
0

上一篇:tslib1.4 移植

下一篇:交叉编译qte-4.7.0

给主人留下些什么吧!~~