【问题标题】:Compiling Qt for Windows 98为 Windows 98 编译 Qt
【发布时间】:2011-03-01 06:09:52
【问题描述】:

我需要支持 Windows 98。Qt 文档声称这是可能的,但没有说明。 Qt 4.6 的分布式二进制文件不能在 Win98 上运行,而且我采样的大多数 Qt 应用程序也不能。对于在 98 上运行的几个应用程序,我曾询问过作者他们是如何做到的,但普遍的答案是这是偶然的,他们不知道是什么原因造成的。

在搜索论坛寻求帮助时,我发现只有猜测被证明是错误的。例如,一种信念是,要为 Win9x 进行编译,您必须在该平台上构建工具和应用程序。然而,我发现运行的东西是在较新版本的 Windows 上构建的。

  • 构建 Qt 开发工具和 Win98 应用程序需要什么?
  • 如何从 WinXP 或 Linux 进行交叉编译?
  • 是否有特定组件无法在 Win98 上运行?
  • 为支持 Win98 的动态或静态链接是否存在特别困难?

【问题讨论】:

  • 哇。我对今日问题的投票。
  • 只是一个想法:尝试使用可以针对 Win98 的编译器和运行时库。如Visual Studio /Visual C++ 6.0。
  • Trolls 在 Windows 98 上测试的最后一个 Qt 4 版本是 4.4,请参阅 Compiler Notes - Visual Studio (Windows)。如果您真的不需要最新版本,请尝试使用 VC++ 6 SP5 或 .NET。
  • 你有我的同情。祝你好运。

标签: windows qt cross-compiling


【解决方案1】:

就我而言,这就是:

您可以使用来自任何 Windows 版本的 MinGW 或 VC++ 6 SP5 以 Windows 98 为目标。从 Linux 交叉编译是可行的,但对set up 来说并不容易。

Qt 4.4.3 是在 Win98 上正式测试的最后一个版本。要在 Win98 上运行分布式的binaries,您需要安装旧版本的 glu32.dll 和 opengl32.dll,它们可从Microsoft 获得。由于未解决的错误,Assistant 将启动但无法加载帮助文件。 bin 目录中的备用版本 assistant_adp.exe 可以正常工作。似乎唯一的其他潜在问题是 QtOpenGL 可能使用旧机器上不可用的功能。

除了 WebKit、OpenGL 和 Phonon 之外,Qt 4.5.3 似乎仍然兼容。 QtOpenGL 需要 OpenGL 1.5,我不知道它在旧盒子上是否可行。我没有深入研究 Phonon 以确切了解问题所在。 QtWebKit 现在需要 Win2K 或更高版本。分布式binaries 工作正常。 Assistant 依赖于 QtWebKit,因此不会启动,但 assistant_adp.exe 仍然有效。

Qt 4.6.3 分发的binaries 现在与 Win98 完全不兼容。使用 MinGW 4.4 和大量的黑客攻击可能会导致一些事情发生。

构建 Qt Creator 需要 Qt 4.6.0 和 MinGW 4.4 或 VS 2008。

【讨论】:

    【解决方案2】:

    哇...有趣的任务。

    所以,基本上 - 是的,Windows 98 支持 Qt。问题是存在一个大 IF。例如,如果您甚至尝试设置一些不同的 QTextCodec::codecForName,则必须为此提供 3rd 方 ttf,因为在大多数情况下 Win98 不会将其识别为有效。如果你提供确切的错误,在win98机器上编译时,我可以帮助你。

    “从 WinXP 或 Linux 交叉编译怎么样?” - 如果你只使用 Qt 库,一切都会好起来的。否则在 .pro 文件中,您必须在 win32 和 unix 条件下链接这些库。所以你甚至可以禁止你的代码在其他系统中编译和执行......

    “是否有特定组件无法在 Win98 上运行?” - 当然。在 .pro 文件中,您可以包含针对不同操作系统的不同库。

    “为支持 Win98 进行动态或静态链接是否有特别困难?” - 据我所知 - 没有。

    //off - 不过还是很奇怪,今天有人要写win98的应用……

    【讨论】:

    • 你的意思是 Qt 4.6 中的所有 19 个跨平台模块都可以在 Win98 上编译和运行,甚至是 QtWebKit?如果我在 WinXP 上使用来自 mingw32 的 cmake 和 gcc,针对 Win98 需要哪些特殊设置?知道为什么这么多在 XP 上编译的二进制文件不能在 98 上运行吗?
    • 回复:Win98。如果您唯一的兴趣是销售新软件,那么毫无疑问 Win98 看起来已经死了。但这忽略了将旧计算机保留到死机的用户。如果他们拥有的东西有效,他们觉得没有必要花钱买新东西。这一类别包括老年人、穷人、小企业和大部分发展中国家。我的印象是,全世界 Win98 的用户比 Mac OS X 的用户多得多,没有人怀疑考虑 Mac 用户需求的价值。
    • 理论上:是的,这些模块中的每一个都应该在 Win98 下运行良好,尤其是如果您在应用程序中仅使用 Qt 模块。但是,你永远不知道。在未经测试的平台下经常会出现一些愚蠢的错误。所以,试一试吧。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-05
    • 2014-12-17
    相关资源
    最近更新 更多