2010-06-08 11 views
23

Necesito compatibilidad con Windows 98. La documentación de Qt afirma que esto es posible, pero no hay instrucciones. Los binarios distribuidos de Qt 4.6 no se ejecutan en Win98 y la mayoría de las aplicaciones de Qt que he probado tampoco lo hacen. Para varias aplicaciones que se ejecutan en 98, les pregunté a los autores cómo lo hicieron, pero la respuesta común es que fue accidental y no saben qué factores lo causaron.Compilación de Qt para Windows 98

Al buscar ayuda en los foros, solo encontré las suposiciones que resultaron ser incorrectas. Por ejemplo, una creencia es que para compilar para Win9x, debe construir las herramientas y las aplicaciones en esa plataforma. Sin embargo, las cosas que encontré correr se construyeron en las versiones más nuevas de Windows.

  • ¿Qué se necesita para construir las herramientas Qt dev y luego las aplicaciones para Win98?
  • ¿Qué hay de la compilación cruzada de WinXP o Linux?
  • ¿Hay componentes específicos que no se pueden ejecutar en Win98?
  • ¿Hay dificultades particulares con el enlace dinámico o estático para la compatibilidad con Win98?
+0

Wow. Mi voto para la pregunta del día. –

+0

Solo una idea: intente utilizar un compilador y una biblioteca de tiempo de ejecución que pueda orientar Win98. Como Visual Studio/Visual C++ 6.0. –

+0

La última versión de Qt 4 que se probó en Windows 98 por Trolls es 4.4, consulte [Notas del compilador - Visual Studio (Windows)] (http://doc.trolltech.com/4.4/compiler-notes.html#visual-studio- ventanas). Si realmente no necesita la versión más reciente, intente con esa usando VC++ 6 SP5 o .NET. – przemoc

Respuesta

6

Aquí es por lo que yo voy a entrar en esto:

Puede apunte a Windows 98 utilizando MinGW o VC++ 6 SP5 desde cualquier versión de Windows. La compilación cruzada desde Linux es factible pero no es fácil de realizar al set up.

Qt 4.4.3 fue la última versión probada oficialmente en Win98. Para ejecutar el binaries distribuido en Win98, necesita instalar versiones anteriores de glu32.dll y opengl32.dll que están disponibles en Microsoft. Debido a un error no resuelto, el asistente se iniciará pero no puede cargar los archivos de ayuda. La versión alternativa en el directorio bin, assistant_adp.exe, funciona bien. Parece que el único otro problema potencial es que QtOpenGL puede usar funciones que no están disponibles en cajas antiguas.

Parece que Qt 4.5.3 sigue siendo compatible a excepción de WebKit, OpenGL y Phonon. QtOpenGL espera OpenGL 1.5, que no sé si es posible incluso en cajas antiguas.No miré a Phonon lo suficientemente profundo como para ver exactamente cuáles son los problemas. QtWebKit ahora requiere Win2K o mejor. El binaries distribuido funciona principalmente OK. El asistente depende de QtWebKit, por lo que no se iniciará, pero assistant_adp.exe todavía funciona.

Qt 4.6.3 distribuido binaries ahora son completamente incompatibles con Win98. Es posible que algunas cosas funcionen con MinGW 4.4 y muchos hackeos.

Crear Qt Creator requiere Qt 4.6.0 y MinGW 4.4 o VS 2008.

1

Wow ... misión interesante.

Así que, básicamente, sí, hay soporte para Windows 98 para Qt. El problema es que hay una gran IF. Por ejemplo, si incluso intenta establecer un QTextCodec :: codecForName diferente, tendrá que proporcionarle a terceros el ttf para este fin, porque en la mayoría de los casos Win98 no lo reconocerá como válido. Si proporciona el error exacto, al compilarlo en la máquina win98, podría ayudarlo.

"¿Qué hay de la compilación cruzada desde WinXP o Linux?" - Si usa SOLO bibliotecas Qt todo va bien. De lo contrario, en el archivo .pro, debe vincular estas bibliotecas bajo las condiciones win32 y Unix. Así que incluso podría prohibir su código, para ser compilado y ejecutado en otros sistemas ...

"¿Hay componentes específicos que no se pueden ejecutar en Win98?" - Por supuesto. En el archivo .pro puede incluir diferentes bibliotecas para diferentes sistemas operativos.

"¿Existen dificultades particulares con la vinculación dinámica o estática para la compatibilidad con Win98?" - Por lo que sé, no hay.

// off - Pero todavía extraña, que alguien quiere escribir aplicaciones para Win98, hoy ...

+0

¿Quiere decir que los 19 módulos multiplataforma de Qt 4.6 se compilarán y ejecutarán en Win98, incluso en QtWebKit? Si utilizo cmake y gcc de mingw32 en WinXP, ¿qué configuraciones especiales son necesarias para apuntar a Win98? ¿Alguna idea de por qué tantos binarios compilados en XP no se ejecutan en 98? – user287424

+2

RE: Win98. Si su único interés es vender un nuevo software, sin dudas Win98 parece muerto. Pero eso ignora a los usuarios que conservan una computadora vieja hasta que muere. Si lo que tienen funciona, no sienten la necesidad de gastar dinero en algo nuevo. Esta categoría incluye a los ancianos, los pobres, las pequeñas empresas y gran parte del mundo en desarrollo. Mi impresión es que hay un número significativamente mayor de usuarios de Win98 en todo el mundo que de Mac OS X, y nadie duda del valor de considerar las necesidades de los usuarios de Mac. – user287424

+0

En teoría: Sí, cada uno de estos módulos debería funcionar bien también en Win98, especialmente si está utilizando SOLAMENTE módulos Qt en su aplicación. Pero, nunca se sabe. A menudo hay algunos errores estúpidos debajo de la plataforma no probada. Entonces, inténtalo. – Vladimiroff

Cuestiones relacionadas