visual ultimate studio microsoft descargar community visual-studio-2010 visual-studio visual-studio-2012

visual studio 2010 - ultimate - Error ''LINK: error fatal LNK1123: error durante la conversión a COFF: archivo no válido o dañado'' después de instalar Visual Studio 2012 Release Preview



visual studio 2015 descargar (26)

¡+1 al usuario Short por una respuesta que me funcionó!

Intenté hacer un poco de depuración de esto con msbuild /v:diag , y veo que MSBuild está intentando incrustar un manifiesto en el ejecutable, con <somename> .dll.embed.manifest.res en la línea de comandos del vinculador, donde se trata de un archivo de recursos creado desde <somename> .dll.embed.manifest. Pero el archivo de manifiesto es un archivo de texto Unicode vacío. (Es decir, un archivo de dos bytes con el prefijo Unicode 0xFEFF)

Por lo tanto, el problema de la raíz parece tener algo que ver con que el archivo de manifiesto no se genere, o que se use cuando <somename> .dll.intermediate.manifest debería haberse utilizado.

Una solución alternativa parece ser desactivar la opción "Incrustar manifiesto" en Propiedades, Herramienta de manifiesto, Entrada y salida.

He instalado Visual Studio 2012 Release Preview y parece que está bien, pero ahora cuando intento usar Visual Studio 2010 para compilar proyectos de C ++, aparece el siguiente mensaje de error:

ENLACE: error fatal LNK1123: error durante la conversión a COFF: archivo no válido o dañado

No estoy 100% seguro de esto, pero parece estar relacionado con proyectos que tienen .rc (recursos) en ellos.

He intentado reparar Visual Studio 2010 desde Agregar o quitar programas y reiniciar, pero esto no tiene ningún efecto.

También obtengo el mismo error si uso Visual Studio 2012 RC para compilar los proyectos de C ++ cuando se configura para usar el conjunto de herramientas de Visual Studio 2010. La actualización al conjunto de herramientas de Visual Studio 2011 soluciona el problema (pero, por supuesto, no quiero hacer esto para el código de producción).

Actualización: desinstalé Visual Studio 2012 , reinicié, ¡y el problema aún persiste! ¡Ayuda!


A partir de enero de 2014, por alguna razón instalé .NET Framework 4.5.1, no sé si se debió a una instalación de software de terceros o una actualización automática.

El 29 de enero, instalé un componente y comencé a recibir el

LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt

mensaje. En ese momento, resolví evitando el enlace incremental.

El 31 de enero, instalé otro componente de .NET Framework 4.5.1 y el truco de enlace incremental ya no funcionó. Luego instalé Visual Studio 2010 SP1, pero luego el problema se convirtió en:

Error 6 error LNK1104: cannot open file ''msvcrtd.lib''.

Creo que el SP1 desordenó mi instalación de Visual Studio 2010.

Así que desinstalé .NET Framework 4.5.1, instalé .NET Framework 4.0 y desinstalé y luego reinstalé Visual Studio 2010. Eso me funcionó.


Compruebe la versión de cvtrs.exe :

dir "C:/Program Files (x86)/Microsoft Visual Studio 10.0/VC/bin/cvtres.exe"

Versión equivocada:
date : 18/03/2010
time : 01:16 PM
size : 31,048 bytes
name : cvtres.exe

Versión correcta:
date : 21/02/2011
time : 06:03 pm
size : 31,056 bytes
name : cvtres.exe

Si tiene una versión incorrecta, debe copiar la versión correcta de:

C:/Program Files (x86)/Microsoft Visual Studio 11.0/VC/bin/cvtres.exe

y reemplaza el de aquí:

C:/Program Files (x86)/Microsoft Visual Studio 10.0/VC/bin/cvtres.exe

es decir

copy "C:/Program Files (x86)/Microsoft Visual Studio 11.0/VC/bin/cvtres.exe" "C:/Program Files (x86)/Microsoft Visual Studio 10.0/VC/bin/cvtres.exe"


De acuerdo con este hilo en los foros de MSDN: la instalación de VS2012 RC interrumpe los proyectos de C ++ de cvtres.exe , simplemente, tome cvtres.exe de cvtres.exe SP1

C:/Program Files (x86)/Microsoft Visual Studio 10.0/VC/bin/cvtres.exe

o desde VS2012

C:/Program Files (x86)/Microsoft Visual Studio 11.0/VC/bin/cvtres.exe

y cópielo sobre el cvtres.exe en la instalación de cvtres.exe RTM (el que no tiene SP1 )

C:/Program Files (x86)/Microsoft Visual Studio 10.0/VC/bin/cvtres.exe

De esta manera, utilizará efectivamente la versión corregida de cvtres.exe que es 11.0.51106.1.

Repita los mismos pasos para la versión de 64 bits de la herramienta en C:/Program Files (x86)/Microsoft Visual Studio 10.0/VC/bin/amd64/cvtres.exe .

Esta solución es una alternativa a la instalación de SP1 para VS2010; en algunos casos, simplemente no puede instalar SP1 (es decir, si necesita admitir versiones anteriores a SP1).


El problema se resolvió mágicamente para mí eliminando .NET 4.5 y reemplazándolo con .NET 4.0 . Luego tuve que reparar Visual Studio 2010, ya que se corrompió de alguna manera.

Anteriormente había instalado, y luego desinstalé, Visual Studio 2012, que puede estar relacionado con el problema.



Estaba usando el SDK de Windows para la programación básica de Win32 y tenía instalado .NET 4.5 por razones "desconocidas". Lo desinstalé e instalé 4.0 como respuestas anteriores y sí, también funcionó para mí.

Me sorprendió que tuviera que usar el inútil framework .NET para crear aplicaciones Win32 usando el SDK.


Establecí Activar enlace incremental en "No (/ INCREMENTAL: NO)" y no funciona para mí .

A continuación he cambiado:

Project Properties -> Configuration Properties -> General -> Platform Toolset -> "Visual Studio 2012 (v110)"

Y funciona para mi :)


Incluso a pesar de instalar el Service Pack, está obteniendo el error, luego intente eliminar / renombrar cvtres.exe en la carpeta C: / Archivos de programa (x86) / Microsoft Visual Studio 10.0 / VC / bin. Esto ha funcionado para mí.


Lo intenté varias veces y finalmente resolví el problema desinstalando varias veces el VS2010. Creo que no había desinstalado todos los archivos y es por eso que no funcionó por primera vez.

En la instalación de VS2012, se dice que si tiene VS2010 SP1 no puede trabajar en el mismo proyecto en ambos programas. Se recomienda tener un solo programa.

¡Gracias!


Mi problema era que tenía dos rutas en mi PC que contenían las mismas bibliotecas. Ambas rutas se agregaron a los directorios de la biblioteca adicional en Propiedades de configuración -> Vinculador -> General . Eliminar uno de los caminos solucionó el problema.


No funcionó para mí después de Habilitar enlace incremental -> "No (/ INCREMENTAL: NO)", pero funciona para mí después de que eliminé el archivo rc.


No instalé Visual Studio 2012, pero aún recibí este error en Visual Studio 2010. Resolví esto después de instalar Visual Studio 2010 SP1.


Para aquellos de ustedes que buscan una solución para este problema con los ejemplos del código fuente de OpenGL SuperBible 6th, la solución se basa en la versión en lugar de en la depuración . Todos los proyectos han deshabilitado la opción de enlace incremental en la versión Release .


Para mí, establecer ''Generar manifiesto'' en ''No'' lo solucionó. (También arreglado con / INCREMENTAL: NO)


Para resumir:

Step1 Project Properties -> Configuration Properties -> Linker (General) -> Enable Incremental Linking -> "No (/INCREMENTAL:NO)"

si step1 no funciona, haz step2

Project Properties -> Configuration Properties -> Manifest Tool (Input and Output) -> Enable Incremental Linking -> "No"

Si el paso 2 no funciona, haga el paso 3 Copie el archivo uno de:

  1. C: / Archivos de programa (x86) / Microsoft Visual Studio 11.0 / VC / bin / cvtres.exe
  2. C: / Archivos de programa (x86) / Microsoft Visual Studio 12.0 / VC / bin / cvtres.exe
  3. C: / Archivos de programa (x86) / Microsoft Visual Studio 13.0 / VC / bin / cvtres.exe

    Luego, reemplace a C: / Archivos de programa (x86) / Microsoft Visual Studio 10.0 / VC / bin / cvtres.exe Conmigo, haga 3 pasos para que funcione


Reinstalar CMake funcionó para mí. La nueva copia de CMake descubrió que debería usar Visual Studio 11 en lugar de 10.


Resolví este problema eventualmente haciendo una desinstalación completa de VS2012 RC, seguida de una desinstalación completa de VS2010, luego una reinstalación desde cero de VS2010.

Tomó una eternidad, pero ahora puedo compilar proyectos C ++ en VS2010 nuevamente.


Resolví esto haciendo lo siguiente:

  1. En un símbolo del sistema, escriba msconfig y presione enter.
  2. Haga clic en la pestaña servicios.
  3. Busque "Experiencia de aplicación" y ponga una marca de verificación (es decir, seleccione esto para habilitar).
  4. Haga clic en Aceptar. Y reinicie si es necesario.

Así el problema irá para siempre. Construya al azar y depure sus proyectos de C ++ sin ninguna perturbación.


Si estás usando x64, aquí hay un recurso que te ayudará :

Esto sucede porque Microsoft .NET 4.5 es incompatible con Visual C ++ 10. La solución es asegurarse de que ejecuta la versión .NET de cvtres.exe en lugar de la versión de Visual C ++. Hice esto cambiando el nombre de las versiones de Visual C ++ de esos archivos y copiando las versiones de .NET en su lugar.

1. C:/Program Files (x86)/Microsoft Visual Studio 10.0/VC/bin/cvtres.exe 2. C:/Program Files (x86)/Microsoft Visual Studio 10.0/VC/bin/amd64/cvtres.exe 1. C:/windows/Microsoft.NET/Framework/v4.0.30319/cvtres.exe 2. C:/windows/Microsoft.NET/Framework64/v4.0.30319/cvtres.exe


Si ha instalado Visual Studio 2012 RC, entonces instaló .NET 4.5 RC.

Desinstale .NET 4.5 RC e instale la versión que necesita (4.0 para VS 2010). Esto debería aclarar cualquier problema que tenga.

Esto solucionó el mismo problema. No hay necesidad de desinstalar Visual Studio.


Si la desactivación de la vinculación incremental no funciona para usted, y la desactivación de "Incrustar manifiesto" tampoco funciona, entonces busque en su ruta varias versiones de CVTRES.exe.

Al depurar con la opción del enlazador / VERBOSE encontré que el enlazador estaba escribiendo ese mensaje de error cuando intentó invocar cvtres y falló.

Resultó que tenía dos versiones de esta utilidad en mi camino. Uno en C:/Program Files (x86)/Microsoft Visual Studio 10.0/VC/BIN/cvtres.exe y uno en C:/Windows/Microsoft.NET/Framework/v4.0.30319/cvtres.exe . Después de la instalación de VS2012, la versión VS2010 de cvtres.exe ya no funcionará. Si ese es el primero en su ruta, y el enlazador decide que necesita convertir un archivo .res al formato de objeto COFF, el enlace fallará con LNK1123.

(Realmente molesto que el mensaje de error no tenga nada que ver con el problema real, pero eso no es inusual para un producto de Microsoft).

Simplemente elimine / cambie el nombre de la versión anterior de la utilidad, o reorganice su variable PATH, de modo que la versión que funcione sea la primera.

Tenga en cuenta que para las compilaciones de herramientas x64 es posible que también tenga que revisar C:/Program Files (x86)/Microsoft Visual Studio 10.0/VC/bin/amd64 donde hay otro cvtres.exe .


Tuve el mismo problema con Microsoft Visual Studio 2010 Ultimate y se resolvió con el método descrito en este video de YouTube.

El video sugiere cambiar el nombre del archivo cvtres.exe en C: / Archivos de programa (x86) / Microsoft Visual Studio 10.0 / VC / bin (in my Win7X64 matchine) a cvtres-old.exe


Tuve el mismo problema después de actualizar .NET: primero desinstalé .NET framework, descargué Visual Studio desde visualstudio.com y seleccioné "Repair".

NET Framework se instaló automáticamente con Visual Studio -> ¡y ahora funciona bien!


Tuve este problema después de instalar Visual Studio 2017 y .NET Framework 4.6 en la máquina que anteriormente tenía Visual Studio 2010.

El problema fue que después de una instalación de este tipo, el archivo msvcr100_clr0400.dll de C: / Windows / System32 se sobrescribió con el nuevo con un tamaño muy pequeño de ~ 19 Kb, sin embargo, el primero era de ~ 800 Kb.

Después de restaurar el archivo manualmente desde otra máquina de compilación, cvtres.exe comenzó a funcionar correctamente nuevamente.


Este hilo de MSDN explica cómo solucionarlo.

Para resumir:

  • Deshabilite el enlace incremental yendo a

    Project Properties -> Configuration Properties -> Linker (General) -> Enable Incremental Linking -> "No (/INCREMENTAL:NO)"

  • o instalar VS2010 SP1.

Ediciones (@CraigRinger): tenga en cuenta que la instalación de VS 2010 SP1 eliminará los compiladores de 64 bits . Debe instalar el paquete de compilación VS 2010 SP1 para recuperarlos.

Esto afecta a Microsoft Windows SDK 7.1 para Windows 7 y .NET 4.0 , así como a Visual Studio 2010 .