Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: ftejada en 20 Mayo 2014, 00:52 am



Título: fatal error LNK1123: error durante la conversión a COFF: archivo no válido o dañ
Publicado por: ftejada en 20 Mayo 2014, 00:52 am
Hola gente!

Tengo un proyecto que compilaba y se ejecutaba perfectamente (sin ningún error de compilacion, ni de linker, ni tampoco ningúun bug cuando ya se estaba ejecutando la aplicación). El proyecto lo cree con Visual Studio 2010 express edition.

No he cambiado nada del proyecto, ni lineas de codigo ni ningún archivo (.dll, etc).... El caso es que he tenido que formatear mi disco duro, intalar Windows 7 de nuevo (yo tenia W7 home premium y ahora he instalado W7 ultimate), y también he cambiado la IDE (antes era Visual Studio 2010 express edition y ahora he instalado Visual Studio ultimate).

Pues cuando intento compilar el proyecto ahora, despues del formateo y con los cambios que he mencionado antes, me sale el error de link: fatal error LNK1123: error durante la conversión a COFF: archivo no válido o dañado.

Alguien podria decirme qué está pasando y por qué sale ese error????

Saludos y gracias de antemano.


Título: Re: fatal error LNK1123: error durante la conversión a COFF: archivo no válido o dañ
Publicado por: eferion en 20 Mayo 2014, 08:16 am
Sigue estos pasos:

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


Título: Re: fatal error LNK1123: error durante la conversión a COFF: archivo no válido
Publicado por: Eternal Idol en 20 Mayo 2014, 08:46 am
¿Probaste con Rebuild?


Título: Re: fatal error LNK1123: error durante la conversión a COFF: archivo no válido o dañ
Publicado por: ftejada en 20 Mayo 2014, 21:18 pm
Bueno, lo primero decir que muchas gracias a los dos.

Ya he solucionado el problema haciendo las dos indicaciones que me habeis dado. Lo primero que hice fue lo más simple que es cambiar el valor de Enable Incremental Linking -> "No (/INCREMENTAL:NO)"

Pero entonces me tiraba un error distinto: 1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: :VCEnd" salió con el código 1.

Con lol que cree una solución nueva desde cero copiando los archivos de codigo y poniendo la misma configuración que tenia  ( y cambiando lo de Enable Incremental Linking -> "No (/INCREMENTAL:NO)")
Y así funcionó perfectamente.

No se muy bien por qué debo cambiar el valor de Incremental linking a NO, ya que creo que cuando tenia la varsion Express de Visual Studio lo tenia en SI, ya que no toqué ningun parametro de configuración en ese aspecto.

Que es exactamente lo del Incremental Linker?????

Saludos y gracias de nuevo.


Título: Re: fatal error LNK1123: error durante la conversión a COFF: archivo no válido o dañ
Publicado por: eferion en 21 Mayo 2014, 09:50 am
"Incremental linking" crea una base de datos con los símbolos del código fuente "sobre la marcha"... esto permite reducir el tiempo necesario para compilar una aplicación ( esto es relativo, proyectos pequeños tardarán más en compilar por el trabajo extra de montar la base de datos, se nota en proyectos grandes ).

Lo que te ha pasado es que ha cambiado el entorno y la base de datos que te comento debería regenerarse, ya que contiene símbolos no válidos.

Normalmente, cuando cambies el entorno, asegúrate de hacer un clean completo del código para eliminar todos los códigos y demás archivos implicados en el proceso para evitar inconsistencias.