我是靠谱客的博主 俏皮镜子,最近开发中收集的这篇文章主要介绍交叉编译Qt5.12.7到NanoPC-T4或者NanoPi-M4,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

0.具体详细的配置过程这里没写出来,都是参考下面两篇博文,然后做了相应的修改的。

0.1 按照附件那个配置文件来编译Qt的话,是已经包含了sqlite数据库的。假如你的程序输出 QSqlDatabase::drivers() 发现没有,那么很可能是因为你的整个编译后的qt文件夹放置得不对。记得在ARM板上,要把整个文件夹放到和你配置时的路径一致。
比如说我配置完Qt,make, make install 之后,Qt库就被装到了电脑的/opt/rootfs-rk64one/Qt5.12.7_ARM中,因为在配置文件中,我的systemroot为/opt/rootfs-rk64one 那么,实际上板子上要放到/Qt5.12.7_ARM下。如下面两张图所示:
在这里插入图片描述
在这里插入图片描述
1.配置过程参考这篇博文
https://blog.csdn.net/qq_43248127/article/details/104077645
上面这篇博文中的那个改变软链接的py语句其实是有问题的(语法上,可能是作者粘贴在博客上时出了问题。),我对脚本进行了修正。在这里。

2.我在按照上面的博文配置后,编译时出现了(OpenGL)undefined reference to `dlsym’的问题。于是又参考这个
https://stackoverflow.com/questions/43815010/undefined-reference-to-dlsym/48240786#48240786
找到了原因
在这里插入图片描述
出现上述问题的原因很有趣,因为这个libdl.so是一个软连接,而且还是绝对路径的。那么我们将板子的文件系统拷贝到电脑上时,会破坏了这个文件系统的绝对文件路径,所以这个连接就失效了,所以编译时才会说找不到库(假如前面那个python脚本正确运行的话,应该不会再出现这个链接的问题)。

3.最终编译好之后,试图用这个Qt来编译一个简单的程序,却报如下的错(有时候编译完又不会报这个错误,难道和install有关?):
在这里插入图片描述
原因是还要手动指定此时的架构路径 ,解决方法如下:
在这里插入图片描述

最后

以上就是俏皮镜子为你收集整理的交叉编译Qt5.12.7到NanoPC-T4或者NanoPi-M4的全部内容,希望文章能够帮你解决交叉编译Qt5.12.7到NanoPC-T4或者NanoPi-M4所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(69)

评论列表共有 0 条评论

立即
投稿
返回
顶部