这两天在对qt交叉编译时配置出现了如下错误
argument to '-O' should be a non-negative integer, 'g', 's' or 'fast'
The tslib functionality test failed
编译环境如下:
开发环境:ubuntu18
qt版本:qt5.4.0/qt5.6.0
编译器:arm-2014.05-29-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
刚开始以为是tslib出了问题,重新安装tslib后问题依然存在。之后看到了前面的提示,说的是-O的参数应为一个非零的参数,g或s或者是fast,这里的-O指的是编译器的优化等级,等级越高编译时间越长,但执行效率越高,各等级说明如下:
-O 提供基础级别的优化
-O2 提供更加高级的代码优化,会占用更长的编译时间
-O3 提供最高级的代码优化
-O这个参数出现在qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf 这个文件中,仔细检查发现原来是格式出了问题,少了一个空格导致和后面的语句连在了一起,重新修改后配置成功。