为Windows 98编译Qt

时间:2010-06-08 16:07:03

标签: windows qt cross-compiling

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

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

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

2 个答案:

答案 0 :(得分:6)

据我所知,这是:

您可以从任何Windows版本使用MinGW或VC ++ 6 SP5定位Windows 98。从Linux进行交叉编译是可行的,但不容易set up

Qt 4.4.3是在Win98上正式测试的最后一个版本。要在Win98上运行分布式binaries,您需要安装Microsoft提供的旧版本的glu32.dll和opengl32.dll。由于未解决的错误,助手将启动但无法加载帮助文件。 bin目录中的备用版本,assistant_adp.exe,工作正常。似乎唯一的另一个潜在问题是QtOpenGL可能会使用旧盒子上没有的功能。

除了WebKit,OpenGL和Phonon之外,Qt 4.5.3似乎仍然兼容。 QtOpenGL期望OpenGL 1.5,我不知道甚至可以在旧盒子上使用。我没有深入研究Phonon,看看究竟是什么问题。 QtWebKit现在需要Win2K或更好。分布式binaries工作大多没问题。助手依赖于QtWebKit,因此无法启动,但assistant_adp.exe仍可正常工作。

Qt 4.6.3分布式binaries现在与Win98完全不兼容。有可能让一些东西与MinGW 4.4和很多黑客一起工作。

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

答案 1 :(得分:1)

哇......有趣的任务。

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

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

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

“Win98支持的动态或静态链接是否存在特殊困难?” - 据我所知 - 没有。

// off - 但是仍然很奇怪,有人想为win98编写应用程序,今天......