我正在开发一个跨平台应用程序,我需要确定机器 B 是否能够运行在机器 A 上编译的应用程序。
我正在使用 Qt,并且我已经明白我需要将 Qt 库与应用程序打包在一起,或者静态链接到 Qt 本身。
我也明白在 Windows 上编译的东西不能在 Linux 上运行。
但是,还有一些其他向量我不确定它们的重要性。以下是我目前理解的总结:
影响便携性
- 操作系统(Windows、Mac、Linux)
- 第三方库的可用性(Qt、静态与动态链接等)
可能影响便携性
- Linux 的味道(Ubuntu、Red Hat、Fedora)
- 架构(32 位或 64 位)
- 操作系统版本(Windows 7 与 Windows XP,Rhel5 与 Rhel6)
- 指令类型(i386、x64)
在可能影响便携性的项目中,哪些项目实际上会影响?有什么我想念的吗?