在编译QT中出现The tslib functionality test failed!....的问题及解决办法

来源:互联网 发布:java偏硬件的项目代码 编辑:程序博客网 时间:2024/05/22 01:32

1、在编译QT的过程中出现的问题如下

 The tslib functionality test failed!

       You might need to modify the include and library search paths by editing

        QMAKE_INCDIR and QMAKE_LIBDIR in

          /work/nfs_root/qt-everywhere-opensource-src-4.7.0/mkspecs/qws/linux-arm-g++.

2、分析问题

(1)从错误提示中我们可以看出我们在

/work/nfs_root/qt-everywhere-opensource-src-4.7.0/mkspecs/qws/linux-arm-g++.中要编辑

QMAKE_INCDIR和QMAKE_LIBDIR这两个变量来修改tslib的头文件(include)和库(library)的搜索路径,因而在/work/nfs_root/qt-everywhere-opensource-src-4.7.0/mkspecs/qws/linux-arm-g++目录下修改



(2)我们可以看到右边的问件是头文件,因而我们需要修改的是qmake.conf问件

修 改 /../qt-embedded-linux-opensource-src-xx/mkspecs/qws/linux-arm-g++/qmake.conf 文 件,(注意:下面的include和lib路径是你安装tslib库时的路径)

添加QMAKE_INCDIR=/usr/local/tslib/include/
      QMAKE_LIBDIR=/usr/local/tslib/lib/
之后重新配置一下 再make

但是还是出现了同样的错误。

3、解决办法

(1)在./configure 的选项里加上 -verbose选项,出错信息会更丰富,这样我们就可以根据具体的出错信息来查找相应的解决办法。

1: error: arm-none-linux-gnueabi-g++: Command not found

(2)这里有两种可能,要么我在环境变量中没有设置交叉编译工具链的路径,要么没有在qt中指出交叉编译工具链的具体路径。

先看第一种情况:

我的交叉编译工具链的路径下有这个交叉编译工具,

arm-none-linux-gnueabi-gcc 只是告诉你支持eabi的功能,你当然也可以把这个名字改成arm-linux-gcc执行了,但是arm-linux-gcc的话是不可以直接改成arm-none-linux-gnueabi-gcc的,因为我们不知道arm-linux-gcc是什么形式的。现在的arm linux toolchain大部分都是arm-none-linux-gnueabi-gcc类型的,但是有的人家为了方便,就软链接成arm-linux-gcc,我就是这么做的。
1、arm-none-linux-gnueabi (ARM architecture, no vendor, linux OS, and the gnueabi ABI)        用于编译ARM架构的u-boot、linux内核、linux应用等2、arm-none-eabi         用于编译ARM架构的裸机系统(包括linux的 boot、kernel)3、arm-eabi         Android ARM 编译器


在环境变量中查看是否有指定(已有指定/usr/local/arm/4.3.2/bin)


如果没有在环境变量中指定交叉编译工具链可参考

http://blog.csdn.net/qingkongyeyue/article/details/52733203添加

(2)另一种情况是没有在qt中指出交叉编译工具链的具体路径

这时修改/../qt-embedded-linux-opensource-src-xx/mkspecs/qws/linux-arm-g++/qmake.conf 文 件,添加全部交叉编译工具链的绝对地址



0 0
原创粉丝点击