为什么 Qt 必须从源代码构建才能进行交叉编译?
Why does Qt have to be built from source for cross-compilation?
我需要为 ARM 构建一个 Qt 应用程序。很多像 this one 这样的页面表明我必须使用一个冗长的过程从源代码构建 Qt。为什么这是必要的?我不能只更改 Qt Creator 中的目标平台,我在 Tools > Options > Build & Run > Compilers
下找到了吗?
对此我有点惊讶,因为 Eclipse CDT 不需要这样的过程。这似乎表明我必须为每个特定平台安装不同的 Qt。这似乎是一个糟糕的设计。有人可以启发我吗?
为了便于解释,应指出以下两者之间的区别:
- LIBRARY,即Qt提供的代码
和
- 使用该库的CODE,即您编写的代码。
为了节省反复编译LIBRARY的时间,因为它不经常变化(除其他原因),所以编译一次然后已编译的二进制文件链接在 CODE.
Tools > Options > Build & Run > Compilers
允许您添加工具来为目标平台编译 CODE,提供 您已经编译了二进制文件由某人,例如Qt,适用于相同平台。
如果没有人这样做并且(最重要的)让二进制文件可供您使用,那么您必须自己做,这意味着您必须构建 LIBRARY从它的来源。
要查看是否有适用于您的目标平台的官方预编译二进制文件,请查看 the offline installers 页面。
我需要为 ARM 构建一个 Qt 应用程序。很多像 this one 这样的页面表明我必须使用一个冗长的过程从源代码构建 Qt。为什么这是必要的?我不能只更改 Qt Creator 中的目标平台,我在 Tools > Options > Build & Run > Compilers
下找到了吗?
对此我有点惊讶,因为 Eclipse CDT 不需要这样的过程。这似乎表明我必须为每个特定平台安装不同的 Qt。这似乎是一个糟糕的设计。有人可以启发我吗?
为了便于解释,应指出以下两者之间的区别:
- LIBRARY,即Qt提供的代码
和
- 使用该库的CODE,即您编写的代码。
为了节省反复编译LIBRARY的时间,因为它不经常变化(除其他原因),所以编译一次然后已编译的二进制文件链接在 CODE.
Tools > Options > Build & Run > Compilers
允许您添加工具来为目标平台编译 CODE,提供 您已经编译了二进制文件由某人,例如Qt,适用于相同平台。
如果没有人这样做并且(最重要的)让二进制文件可供您使用,那么您必须自己做,这意味着您必须构建 LIBRARY从它的来源。
要查看是否有适用于您的目标平台的官方预编译二进制文件,请查看 the offline installers 页面。