为什么Qt必须从源代码构建才能进行交叉编译?

时间:2018-09-08 06:04:48

标签: c++ qt cross-compiling

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

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

1 个答案:

答案 0 :(得分:6)

为便于说明,应指出以下两者之间的区别:

  • ,即Qt提供的代码

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

为了省去一次又一次地编译 LIBRARY 的时间,因为它变化不那么频繁(还有其他原因),因此将其编译一次,然后将已编译的二进制文件链接到 CODE

private void F0100_FormClosing(object sender, FormClosingEventArgs e) { // Do not prompt the user if we have called Application.Restart if(e.CloseReason != CloseReason.ApplicationExitCall) { DialogResult result; .... } } 允许您添加工具来编译目标平台的 CODE 提供是由某人编译的二进制文件,例如Qt,用于相同平台。

如果没有人这样做(最重要的是)将二进制文件提供给您,则您必须自己完成二进制文件,这意味着您必须从其源代码中构建 LIBRARY 。 / p>

要查看目标平台是否有官方的预编译二进制文件,请检查the offline installers页面。