我用 Fedora 18 和 Qt 5 创建了一个开发环境
当我编译我的应用程序时,它将是 64 位的,并且依赖于 Qt 5。经过一些研究,这似乎是一个问题,因为 Centos 6.x 仍然依赖于 Qt 4.6,而 Centos 5.x 依赖于早期的 Qt,我猜 Ubuntu 有它自己的软件包限制。
是否有一个“安全”版本的 Qt 我可以编译以确保它在任何地方运行?如果没有,我怎么能期望客户运行我的程序?
如果您想以 Linux 为目标,那么我建议您使用 Qt 4.8(在大多数 Linux 发行版上都可用),一年左右就不要使用 Qt 5。除了 Ubuntu 13.04 及更高版本之外,几乎没有任何 Linux 发行版附带 Qt 5。
其次,就编译而言,如果您希望针对 Ubuntu 和 Fedora 以外的 Linux 发行版,则不要使用 Ubuntu 或 Fedora 进行编译。这些是最前沿的 Linux 发行版,其中包含未经太多测试的新库。您不仅会面临某些 Linux 发行版中旧 Qt 版本的问题,还会面临更大的 glibc(C 库)问题。确保您用于编译的 Linux 发行版具有适用于 Qt 4.8 的最低 glibc 版本,否则即使任何 Linux 发行版安装了 Qt 4.8,但具有较低版本的 glibc,您的应用程序仍然无法运行。您可以查看distrowatch.com以了解适用于任何 Linux 发行版的 glibc 和 Qt 版本
例子:
我在 Ubuntu 12.04、Qt 4.8.1 上使用 glibc v 2.16(也许)编译了我的应用程序。我收到了一个错误报告,说应用程序没有在 CrunchBang 上运行,它也有 Qt 4.8.1,但由于它是 Debian 不稳定的 Linux 发行版,它使用 glibc v2.13。从那天起,我总是在 CrunchBang 上编译我的应用程序(非常轻量级,你可以使用 Virtual Box),现在几乎没有人抱怨了。
就 CentOs 而言,你需要在 CentOS 上重新编译你的代码。