sábado, 13 de febrero de 2016

Qt: error: [ui_mainwindow.h] Error -1073741502

Sin haber modificado nada del proyecto abierto en Qt aparece el siguiente error al tratar de compilarlo:


Curiosamente sólo apareció cuando se limpió el proyecto y se volvió a generar completamente -Build all-. Previamente se habían hecho modificaciones al código fuente y todo funcionaba con normalidad.




Si mostramos los mensajes generados por el compilador, llama la atención la siguiente línea:


Justo después de esa línea aparece el primer error ya que no es capaz de encontrar ui_mainwindow.h.
Este archivo se genera automáticamente a partir de los formularios gráficos -archivos .ui-

Quien se encarga de este proceso es el archivo uic.exe cuyo path tenemos en la pantalla anterior.
Si vamos a esa carpeta e intentamos ejecutar directamente el archivo...


Nos llevaremos una sorpresa:

Mirando en información sobre este código, el problema parece estar relacionado con un fallo en la inicialización de una librería dinámica -dll-

# for hex 0xc0000142 / decimal -1073741502 :
  STATUS_DLL_INIT_FAILED                                        ntstatus.h
# {DLL Initialization Failed}
# Initialization of the dynamic link library %hs failed. The
# process is terminating abnormally.
# 

Desafortunadamente, ninguno de los métodos que encontré en Internet me funcionó y al final me di cuenta que el problema era de .... WINDOWS!!!!

Estoy suscrito al canal Insider preview de Microsoft que me permite recibir las últimas novedades de Windows 10 antes de que se distribuyan oficialmente. Esto tiene la ventaja de poder ver antes que nadie lo que saldrá en breve pero tiene daños colaterales como el sufrido en esta ocasión pues algunas características pueden afectar a otros componentes.

Este problema no había sido documentado por nadie así que la única forma de comprobar si era la última compilación instalada de Windows era... desinstalarla.

Para ello nos vamos a Configuración y seleccionamos Actualización y seguridad


Seleccionamos Opciones avanzadas

y nos vamos a Ver historial de actualizaciones:


Aquí veremos la opción que nos permitirá Desistalar la versión preliminar más reciente:


En el apartado Volver a una compilación anterior seleccionaremos Introducción:



Y tras unos segundos...

... nos preguntará por el motivo de nuestra decisión:


Antes de desinstalar la última compilación nos ofrece la posibilidad de buscar nuevas actualizaciones pos si hubiera alguna de última hora que solucionara los problemas -no era el caso-


Después de pulsar en el botón No, gracias, estas son las pantallas que nos mostrará antes de desinstalar la última compilación:




Tras Volver a la compilación anterior y esperar a que el sistema realice el proceso, tendremos nuestro sisema justo antes de instalar la última compilación problemática y con el problema de Qt resuelto!!!
Comentarios
0 comentarios
Para Comentar Elige el Sistema de Comentario de tu Agrado:
Comentarios Comentarios Comentarios