0

我用 Fedora 18 和 Qt 5 创建了一个开发环境

当我编译我的应用程序时,它将是 64 位的,并且依赖于 Qt 5。经过一些研究,这似乎是一个问题,因为 Centos 6.x 仍然依赖于 Qt 4.6,而 Centos 5.x 依赖于早期的 Qt,我猜 Ubuntu 有它自己的软件包限制。

是否有一个“安全”版本的 Qt 我可以编译以确保它在任何地方运行?如果没有,我怎么能期望客户运行我的程序?

4

1 回答 1

1

如果您想以 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 上重新编译你的代码。

于 2013-10-06T19:38:02.877 回答