Компиляция Qt для Windows 98

Мне нужно поддерживать Windows 98. Документация Qt утверждает, что это возможно, но инструкций нет. Распределенные двоичные файлы Qt 4.6 не запускаются на Win98, и большинство приложений Qt, которые я выбрал, также нет. Для нескольких приложений, которые работают на 98, я спросил авторов, как они это сделали, но общий ответ заключается в том, что это было случайно, и они не знают, какие факторы вызвали его.

При поиске на форумах помощи я нашел только догадки, которые оказались неправильными. Например, одно убеждение состоит в том, что для компиляции для Win9x необходимо создать инструменты и приложения на этой платформе. Тем не менее, все, что я нашел для запуска, было построено на более новых версиях Windows.

  • Что требуется для создания инструментов Qt dev, а затем приложений для Win98?
  • Как насчет кросс-компиляции из WinXP или Linux?
  • Существуют ли конкретные компоненты, которые нельзя выполнить для запуска на Win98?
  • Существуют ли особые трудности с динамической или статической привязкой для поддержки Win98?

Ответ 1

Вот, насколько я собираюсь это сделать:

Вы можете настроить таргетинг на Windows 98 с помощью MinGW или VС++ 6 SP5 из любой версии Windows. Кросс-компиляция из Linux выполнима, но не легко настроить.

Qt 4.4.3 была последней версией, официально протестированной на Win98. Для запуска распределенных двоичных файлов на Win98 вам необходимо установить более старые версии glu32.dll и opengl32.dll, доступные из Microsoft. Из-за неразрешенной ошибки, Assistant запустится, но не сможет загрузить файлы справки. Альтернативная версия в каталоге bin, assistant_adp.exe, работает нормально. Кажется, единственная потенциальная проблема заключается в том, что QtOpenGL может использовать функции, недоступные в старых блоках.

Qt 4.5.3 по-прежнему совместим, за исключением WebKit, OpenGL и Phonon. QtOpenGL ожидает, что OpenGL 1.5, которого я не знаю, возможно даже в старых блоках. Я не смотрел на Фонона достаточно глубоко, чтобы понять, в чем проблемы. QtWebKit теперь требует Win2K или лучше. Распределенные двоичные файлы работают в основном в порядке. Помощник зависит от QtWebKit, поэтому не запускается, но файл assistant_adp.exe все еще работает.

Qt 4.6.3 распределенные двоичные файлы теперь полностью несовместимы с Win98. Возможно, вы сможете получить некоторые вещи, которые работают с MinGW 4.4 и много взлома.

Для построения Qt Creator требуется Qt 4.6.0 и MinGW 4.4 или VS 2008.

Ответ 2

Вау... интересная миссия.

Итак, в принципе - да, есть поддержка Windows 98 для Qt. Проблема в том, что есть один большой ИФ. Например, если вы даже пытаетесь установить какое-то другое QTextCodec:: codecForName, для этой цели вам необходимо предоставить сторонний ttf, поскольку в большинстве случаев Win98 не признает его действительным. Если вы указали точную ошибку, компилируя ее на машине win98, я мог бы вам помочь.

"Как насчет кросс-компиляции из WinXP или Linux?" . Если вы используете ТОЛЬКО библиотеки Qt, все идет хорошо. В противном случае в файле .pro вам необходимо связать эти библиотеки в условиях win32 и unix. Таким образом, вы даже можете запретить свой код, компилироваться и выполняться в других системах...

"Существуют ли конкретные компоненты, которые нельзя выполнить для запуска на Win98?" . Конечно. В файле .pro вы можете включить разные библиотеки для разных операционных систем.

"Существуют ли особые трудности с динамической или статической привязкой для поддержки Win98?" . Насколько я знаю - нет.

//off - Но все же странно, что кто-то хочет написать приложение для win98, сегодня...