c++ - 为什么必须从源代码构建 Qt 才能进行交叉编译?
问题描述
我需要为 ARM 构建一个 Qt 应用程序。如此多的页面表明我必须使用漫长的过程从源代码构建 Qt。为什么这是必要的?我不能在 Qt Creator 中更改目标平台Tools > Options > Build & Run > Compilers
吗?
我对此有点惊讶,因为 Eclipse CDT 不需要这样的过程。似乎建议我必须为每个特定平台安装不同的 Qt。这似乎是一个糟糕的设计。有人可以启发我吗?
解决方案
为了解释起见,应指出以下区别:
- LIBRARY,即 Qt 提供的代码
和
- 使用该库的CODE,即您编写的代码。
为了节省一遍又一遍地编译LIBRARY的时间,因为它不会经常更改(以及其他原因),它被编译一次,然后编译的二进制文件在CODE中链接。
Tools > Options > Build & Run > Compilers
允许您添加工具来为目标平台编译CODE ,前提是您拥有由某人(例如 Qt)为同一平台编译的二进制文件。
如果没有人这样做并且(最重要的是)向您提供二进制文件,那么您必须自己完成,这意味着您必须从其源代码构建LIBRARY 。
要查看您的目标平台是否有官方预编译的二进制文件,请查看离线安装程序页面。
推荐阅读
- python - pyserial python obd vin
- javascript - Redis节点如何在函数async/await中返回True
- android - Android 到 iOS 空投?
- node.js - Azure 应用服务上的节点如何启动?
- security - SharePoint 站点中用户的安全查询
- jquery - 使用jQuery选择文件后如何检索文件的路径
- vue.js - 为什么我的 Vuex getter 在客户端返回 TRUE 而在服务器端返回 FALSE?
- android - 如何隐藏 ActionBar 但仍在左上角显示导航菜单图标
- npm - 您的 yo 版本已过时
- swift - 使用 UIPanGestureRecognizer 在 UIImageView Swift 4 中更改图像