¿Qué es el error R6034?

No sé qué software estás usando. Se migró un proyecto de vc6 a VS2005 después de modificar una serie de advertencias de tipo. La compilación fue exitosa, pero durante la depuración, apareció un error R6034: "Una aplicación intentó cargar la biblioteca de tiempo de ejecución de C incorrectamente. Comuníquese con el equipo de soporte de la aplicación para obtener más información. Ventana de salida: app.exe. Excepción más probable en". 0x7c984ed1: 0xC0000142: Error al inicializar la DLL. Las condiciones de compilación son: Linker-gt; Archivo de manifiesto -gt; Permitir aislamiento: Sí. En las mismas condiciones de compilación, Release puede compilarse y ejecutarse normalmente. Tome la solución: agregue: #pragma comment(linker, "\"/manifestdependency: type='Win32' name='Microsoft.VC80.CRT' version='8.0.50608.0' procesadorArchitecture='X86' al archivo stdafx.h publicKeyToken ='1fc8b3b9a1e18e3b' language='*'\""), se produjeron varios errores durante la depuración, los códigos de error estaban enmascarados y se podía ejecutar, excepto que el formulario de presentación frontal había desaparecido. (Referencia: /china/ShowPost.aspx?PostID=1988459amp; SiteID=15) Antes de esto, me referí a muchas páginas web sobre el error R6034, considerando principalmente el manifiesto: (1) El sistema de disco está en formato fat32: la hora La precisión de FAT32 no es suficiente, por lo que el vinculador cometerá un error al generar el archivo. Si es ntfs, no habrá ningún problema en la configuración del proyecto VS2005, hay una opción en la herramienta de manifiesto (Usar solución alternativa a FAT32). ) para resolver específicamente el problema. Esta pregunta trata sobre: ​​Para discos FAT32, debe seleccionar "Sí", el valor predeterminado es "No" (2) Los proyectos generados por el asistente en Visual Studio 2005 pueden encontrar el problema de no estar disponibles. capaz de encontrar MFC80UD.dll cuando se ejecuta. Este problema puede ser causado por Manifest, por lo que podemos incrustar "Marcar" Lista "y seleccionar" No ". Luego compilar, vincular y ejecutar. Los proyectos generados por el asistente en Visual Studio 2005 pueden encontrar el problema de que no se puede encontrar MFC80UD.dll cuando se ejecuta. Este problema puede ser causado por Manifest, por lo que podemos modificar las propiedades del proyecto -gt; herramienta de manifiesto -gt; seleccionar "No" para "Incrustar manifiesto" y luego compilar, vincular y ejecutar. (3) Alguien sugirió que en las propiedades del proyecto, el uso de mfc debería establecerse como enlace estático. Pero después de cambiarlo a estático, habría muchos errores, así que me di por vencido. (4) Le pregunté a un internauta en el foro y me dijo que podría estar relacionado con la biblioteca Microsoft C Runtime.

Además, la solución mencionada en una referencia es: Linker-gt; Archivo de manifiesto -gt; Permitir aislamiento: No permitir el aislamiento en paralelo, aparecerá lo siguiente independientemente de las condiciones de depuración y liberación: Esta aplicación no se pudo iniciar. porque no se encontró MSVCR80D.dll Reinstalar la aplicación puede solucionar el problema." Con respecto a este problema, un artículo de blog decía: Descripción de algunos problemas a tener en cuenta al compilar programas Win32 en medios VS2005 con particiones FAT32: cuando la mayoría de vs.net. 2005 los usuarios crean una nueva "aplicación de Windows de proyecto win32", el proyecto recién creado no se puede pasar y aparece el siguiente mensaje: Solución a "MSVCR80D.dll no encontrado" "MSVCR80D.dll no encontrado", por lo que la aplicación no pudo iniciarse . Reinstalar la aplicación puede solucionar este problema. "El problema: dado que vs.net 2005 adopta una nueva solución DLL, un exe debe estar equipado con un archivo de manifiesto (generalmente en el archivo incrustado, por lo que no se puede ver