这篇文章主要是记录一下交叉编譯qt4.8.5中遇到的一些问题希望能给后来者提供一些参考。在编译过程中也参考过网上一些其他资料可能是因为qt版本或者是编译环境的差异,很难说哪个资料能能够完全解决自己问题的需要根据自己的实际需求综合判断,定位问题
触摸屏库文件tslib
嵌入式设备带有电阻式触摸屏的,需要先移植tslib,我的板子上已经提供了编译好的库文件所以没有交叉编译tslib。注意了一定要把开发板上编译好的库文件解压到主机目錄下,接下来交叉编译qt4.8.5会用到我的路径是:/usr/local/tslib。
PS:刚开始编译的时候我没有添加tslib库到主机环境编译qt时会有警告信息:tslib.h No such file or directory!当时qt也没有报错,只昰跳过了所以也没有特别在意这些警告,最后qt源码编译完成后移植到开发板上,发现无法触摸找了好久才发现是qt源码编译是依赖tslib这個库的。
/usr/local/tslib/lib是tslib库文件文件目录下对应的include和lib目录需要根据自己tslib的实际目录修改。否者编译到一半的时候会报错:
按照提示在qmake.conf进行如下配置也昰一样的两种方式选择其中一种即可。
同时修改qmake.conf文件时需要注意的是要添加编译器的绝对路径,记住后面添加 -lts否者在主机上qmake嵌入式qt時会报错,提示未定义的引用:
如果要在终端使用qmake则配置环境变量
如果使用Qt Creater则可以不用配置环境变量,直接构建qt编译套件选择好交叉編译器和qt版本,直接编译qt工程就可以了
移植并测试qt应用程序