首页 > 解决方案 > 为什么必须从源代码构建 Qt 才能进行交叉编译?

问题描述

我需要为 ARM 构建一个 Qt 应用程序。如此多的页面表明我必须使用漫长的过程从源代码构建 Qt。为什么这是必要的?我不能在 Qt Creator 中更改目标平台Tools > Options > Build & Run > Compilers吗?

我对此有点惊讶,因为 Eclipse CDT 不需要这样的过程。似乎建议我必须为每个特定平台安装不同的 Qt。这似乎是一个糟糕的设计。有人可以启发我吗?

标签: c++qtcross-compiling

解决方案


为了解释起见,应指出以下区别:

  • LIBRARY,即 Qt 提供的代码

  • 使用该库的CODE,即您编写的代码。

为了节省一遍又一遍地编译LIBRARY的时间,因为它不会经常更改(以及其他原因),它被编译一次,然后编译的二进制文件在CODE中链接。

Tools > Options > Build & Run > Compilers允许您添加工具来为目标平台编译CODE ,前提是您拥有由某人(例如 Qt)为同一平台编译的二进制文件。

如果没有人这样做并且(最重要的是)向您提供二进制文件,那么您必须自己完成,这意味着您必须从其源代码构建LIBRARY 。

要查看您的目标平台是否有官方预编译的二进制文件,请查看离线安装程序页面。


推荐阅读