Compilation de Qt pour Windows 98

Je dois prendre en charge Windows 98. La documentation Qt prétend que c'est possible, mais il n'y a pas d'instructions. Les binaires distribués de Qt 4.6 ne fonctionnent pas sur Win98 et la majorité des applications Qt que j'ai échantillonnées ne le font pas non plus. pour plusieurs applications qui fonctionnent sur 98, j'ai demandé aux auteurs comment ils l'ont fait, mais la réponse commune est que c'était accidentel et ils ne savent pas quels facteurs l'ont causé.

En cherchant de l'aide dans les forums, je n'ai trouvé que des suppositions qui se sont révélées fausses. Pour exemple, une croyance, c'est que pour compiler pour Win9x, vous devez créer les outils et les applications sur cette plateforme. Pourtant, les choses que j'ai trouvées pour fonctionner ont été construites sur des versions plus récentes de Windows.

  • Qu'est-ce qui est nécessaire pour construire les outils de développement Qt, puis les applications pour Win98?
  • Que diriez-vous de la compilation croisée à partir de WinXP ou Linux?
  • y a-t-il des composants spécifiques qui ne peuvent pas être exécutés sur Win98?
  • y a-t-il des difficultés particulières avec la liaison dynamique ou statique pour Win98 soutien?
23
demandé sur user287424 2010-06-08 20:07:03

2 réponses

Voici ce que je vais faire:

Vous pouvez cibler Windows 98 en utilisant MinGW ou VC++ 6 SP5 à partir de N'importe quelle version de Windows. La compilation croisée à partir de Linux est faisable mais pas facile à mettre en place .

Qt 4.4.3 a été la dernière version officiellement testée sur Win98. Pour exécuter les binaires distribués sur Win98, vous devez installer des versions plus anciennes de glu32.dll et opengl32.dll qui sont disponibles à partir de Microsoft. En raison d'un bug non résolu, Assistant va lancer mais ne peut pas charger les fichiers d'aide. La version alternative dans le répertoire bin, assistant_adp.exe, fonctionne très bien. Il semble que le seul autre problème potentiel est que QtOpenGL peut utiliser des fonctionnalités non disponibles sur les anciennes boîtes.

Qt 4.5.3 semble toujours compatible sauf pour WebKit, OpenGL et Phonon. QtOpenGL attend OpenGL 1.5, ce que je ne sais pas est même possible sur les anciennes boîtes. Je n'ai pas regardé dans Phonon assez profondément pour voir exactement quels sont les problèmes. QtWebKit nécessite maintenant Win2K ou mieux. Les binaires distribués fonctionnent généralement bien. Assistant dépend de QtWebKit, donc ne sera pas lancer, mais assistant_adp.exe fonctionne toujours.

Qt 4.6.3 les binaires distribués sont maintenant complètement incompatibles avec Win98. Il peut être possible de faire fonctionner certaines choses avec MinGW 4.4 et beaucoup de piratage.

La construction de Qt Creator nécessite Qt 4.6.0 et MinGW 4.4 ou VS 2008.

6
répondu user287424 2010-06-25 18:07:04

Wow...mission intéressante.

Donc, fondamentalement-oui, il y a un support de windows 98 pour Qt. Le problème est qu'il y a un grand si. Par exemple, si vous essayez même de définir un QTextCodec::codecForName différent, vous devrez fournir un ttf tiers à cette fin, car dans la plupart des cas, Win98 ne le reconnaîtra pas comme valide. Si vous fournissez l'erreur exacte, lors de la compilation sur win98 machine, je pourrais vous aider.

"Que diriez-vous de la compilation croisée à partir de WinXP ou Linux?" - Si vous utilisez uniquement des bibliothèques Qt tout va bien. Sinon, dans le fichier. pro, vous devez lier ces libs dans des conditions win32 et unix. Ainsi, vous pourriez même interdire votre code, à compiler et à exécuter dans d'autres systèmes...

"y a-t-il des composants spécifiques qui ne peuvent pas être exécutés sur Win98?" - Bien sûr. Dans le fichier. pro, vous pouvez inclure différentes bibliothèques, pour différents systèmes d'exploitation.

"y a-t-il des difficultés particulières avec la liaison dynamique ou statique pour Win98 soutien?" - pour autant que je sache-il n'y en a pas.

//hors - Mais il reste étrange que quelqu'un veut écrire l'application pour win98, aujourd'hui...

1
répondu Vladimiroff 2010-06-13 16:59:54