美文网首页QT5 GUI开发
qt5应用程序如何交叉编译

qt5应用程序如何交叉编译

作者: 小桥流水啦啦啦 | 来源:发表于2020-04-05 13:54 被阅读0次

常见问题:

  1. 交叉编译Qt程序的原理没理清
  2. Qt的库和Qt的qmake、rcc、moc等工具没有设置好
  3. Qt的版本宿主机和目标机不一致

针对以上问题1:
Qt应用程序的交叉编译,其原理是通过宿主机上可执行的Qt相关工具程序(比如moc、rcc等),在编译时生成中间文件和资源文件,最终打包成Qt应用程序,但是该应用程序所依赖的Qt动态库又必须是目标机的(动态库必须是ARM aarch64架构的)。

针对以上问题2:给环境变量PATH中必须设置本地Qt可执行文件的路径(也就是Qt的bin目录),这样才能找到moc、rcc等执行相关的操作,也就是说qmake、moc、rcc等在交叉编译是用的工具,必须是x86_64架构的。
针对以上问题3:由于在交叉编译Qt应用程序是,用到了本地的Qt相关工具程序,所以在链接时,最好保持本地的Qt版本和目标机的Qt版本一直(也就是编译时的Qt版本和运行时的Qt版本保持一致)。

总结以上问题:如果在cmake中设置了找库路径,则需要将目标机的Qt的lib库拷贝到设置的路径中,如果在cmake中没有设置找库路径,则有个粗暴的方法,就是将本地的Qt中lib目录换成目标机的lib,确保本地的Qt的bin目录中可执行文件都是x86_64架构,lib目录中的库文件都是ARM aarch64架构的。

相关文章

  • qt5应用程序如何交叉编译

    常见问题: 交叉编译Qt程序的原理没理清 Qt的库和Qt的qmake、rcc、moc等工具没有设置好 Qt的版本宿...

  • 交叉编译环境(引用)

    所谓的搭建交叉编译环境,即安装、配置交叉编译工具链。在该环境下编译出嵌入式Linux系统所需的操作系统、应用程序等...

  • Android:交叉编译总结

    总结一下交叉编译 如何用交叉编译链命令行编译 基本通过下面两句可以完成helloworld编译,参考(本方法已经过...

  • go 语言学习

    Golang 在 Mac、Linux、Windows 下如何交叉编译 Mac 下编译 Linux 和 Window...

  • ITOP 4412 交叉编译环境 的搭建

    1 交叉编译工具### 编译的时候需要用到交叉编译工具,提供的交叉编译工具是用户光盘“02_编译器以及烧写工具”→...

  • golang进行交叉编译

    golang进行交叉编译 交叉编译即编译不同操作系统平台的可执行程序 golang执行交叉编译,只需要使用两个变量...

  • 交叉编译

    配置64位ubuntu交叉编译环境时,设置arm的工具链的路径,需要先安装lib32stdc++6 然后在~/.b...

  • 交叉编译

    在一种计算机环境中运行的编译程序,能编译出在另外一种环境下运行的代码,我们就称这种编译器支持交叉编译。这个编译过程...

  • 交叉编译

    使用go的交叉编译 最后使用go build windows_fping.go 编译出.exe可执行文件 如果编译...

  • 交叉编译

    1.为啥需要交叉编译?因为linux 系统上的gcc 在android 系统上没法正常调用,所有需要使用andro...

网友评论

    本文标题:qt5应用程序如何交叉编译

    本文链接:https://www.haomeiwen.com/subject/ufjuphtx.html