编译qt4.8.7出现The tslib functionality test failed!的解决办法

轉載:http://blog.chinaunix.net/uid-29253311-id-4075554.html

当编译与安装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),过一阵之后,你会发现自己几乎解决绝大部分问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值