2010-06-08 161 views
23

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

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

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

哇。我对今天的问题投了赞成票。 – 2010-06-08 16:12:04

+0

只是一个想法:尝试使用可以针对Win98的编译器和运行时库。如Visual Studio/Visual C++ 6.0。 – 2010-06-08 17:44:44

+0

Trolls在Windows 98上测试的最新Qt 4版本是4.4,请参见[编译器注释 - Visual Studio(Windows)](http://doc.trolltech.com/4.4/compiler-notes.html#visual-studio-视窗)。如果你真的不需要最近的版本,那么使用VC++ 6 SP5或.NET来尝试。 – przemoc 2010-06-09 09:12:46

回答

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

哇...有趣的使命。

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

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

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

“对于Win98支持,动态链接或静态链接有特殊困难吗?” - 据我所知 - 没有。

//关闭 - 但它仍然奇怪,有人想要写申请WIN98,今天...

+0

您是否认为Qt 4.6中的所有19个跨平台模块都可以在Win98上编译和运行,甚至是QtWebKit?如果我在WinXP上使用mingw32的cmake和gcc,那么需要什么特殊设置来定位Win98呢?任何想法为什么在XP上编译的这么多的二进制文件不能在98上运行? – user287424 2010-06-15 03:11:39

+2

RE:Win98。如果你唯一的兴趣是销售新的软件,毫无疑问,Win98看起来已经死了。但是,这忽略了保持旧电脑直到它死亡的用户。如果他们有什么作品,他们觉得不需要花钱买新的东西。这一类别包括老年人,穷人,小企业和许多发展中国家。我的印象是全世界的Win98用户比Mac OS X有更多的用户,并且没有人怀疑考虑Mac用户需求的价值。 – user287424 2010-06-15 03:13:11

+0

理论上:是的,这些模块中的每一个都应该在Win98下运行良好,特别是如果您在应用程序中仅使用Qt模块。 但是,你永远不知道。在未经测试的平台下通常会有一些愚蠢的错误。所以试试吧。 – Vladimiroff 2010-06-15 22:47:03