交叉编译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有关?):
在这里插入图片描述
原因是还要手动指定此时的架构路径 ,解决方法如下:
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值