Компиляция Qt для Windows 98 - PullRequest
23 голосов
/ 08 июня 2010

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

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

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

Ответы [ 2 ]

6 голосов
/ 25 июня 2010

Вот, насколько я собираюсь получить на этом:

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

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

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

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

Building Qt Creator требует Qt 4.6.0 и MinGW 4.4 или VS 2008.

1 голос
/ 13 июня 2010

Ух ты ... интересная миссия.

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

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

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

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

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

...