2010-06-08 2 views
23

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

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

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

Wow. Мое голосование за «Вопрос дня». –

+0

Просто идея: попробуйте использовать компилятор и библиотеку времени выполнения, которая может ориентироваться на Win98. Например, Visual Studio/Visual C++ 6.0. –

+0

Последняя версия Qt 4, протестированная в Windows 98 от Trolls, составляет 4.4, см. [Замечания о компиляторе - Visual Studio (Windows)] (http://doc.trolltech.com/4.4/compiler-notes.html#visual-studio- окна). Если вам действительно не нужна последняя версия, попробуйте использовать ее с помощью VC++ 6 SP5 или .NET. – przemoc

ответ

6

Вот насколько я иду, чтобы получить на это:

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

Qt 4.4.3 была последней версией, официально протестированной на Win98. Чтобы запустить распределенный binaries на 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 или лучше. Распределенные 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

Wow ... интересная миссия.

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

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

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

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

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

+0

Вы имеете в виду, что все 19 кроссплатформенных модулей в Qt 4.6 будут компилироваться и запускаться на Win98, даже QtWebKit? Если я использую cmake и gcc из mingw32 в WinXP, какие специальные настройки необходимы для установки на Win98? Любая идея, почему так много двоичных файлов, скомпилированных на XP, не работают на 98? – user287424

+2

RE: Win98. Если ваш единственный интерес заключается в продаже нового программного обеспечения, то, без сомнения, Win98 выглядит мертвым. Но это игнорирует пользователей, которые хранят старый компьютер, пока он не умрет. Если у них есть работы, им не нужно тратить деньги на что-то новое. К этой категории относятся пожилые люди, бедные, малые предприятия и большая часть развивающихся стран. Мое впечатление, что в мире намного больше пользователей Win98, чем Mac OS X, и никто не сомневается в ценности учета потребностей пользователей Mac. – user287424

+0

О теории: Да, каждый из этих модулей должен хорошо работать и под Win98, особенно если вы используете ТОЛЬКО модули Qt в своем приложении. Но вы никогда не знаете. Часто бывает несколько глупых ошибок под непроверенной платформой. Итак, попробуйте. – Vladimiroff