背景:我在虚拟机Ubuntu系统,做交叉编译Qt+sqlite+openssl,出现C++11头文件引用问题,产生的原因是Qt源代码默认使用了标准11的变量,而未做声明
在Ubuntu系统上,安装的gcc、g++标准库时,可能某些版本已经移除默认声明,需要手动去添加相关的头文件才可以运行下一步,例如我这里遇到的,缺少numeric_limits变量声明:
解决的方法就是,在相应出错的qt头文件上加上 #include <limits> 即可
分析:Ubuntu我做了gcc/g++的更新,之前在其他机器交叉编译是没有任何问题的,这里我怀疑更新的版本移除了这项默认声明