visual-studio-2010 - telecharger - visual studio windows 7




Erreur 'LINK: erreur irrécupérable LNK1123: échec lors de la conversion en COFF: fichier non valide ou endommagé' après l'installation de Visual Studio 2012 Release Preview (17)

+1 à l'utilisateur Court pour une réponse qui a fonctionné pour moi!

J'ai essayé de faire un débogage de ceci avec msbuild /v:diag , et je vois que MSBuild essaye d'incorporer un manifeste dans l'exécutable, avec <nom de famille> .dll.embed.manifest.res sur la ligne de commande de l'éditeur de liens, où c'est un fichier de ressources construit à partir de <nom de famille> .dll.embed.manifest. Mais le fichier manifeste est un fichier texte Unicode vide. (C'est-à-dire, un fichier de deux octets avec le préfixe Unicode 0xFEFF)

Ainsi, le problème racine semble avoir quelque chose à voir avec le fait que ce fichier manifeste n'est pas généré, ou qu'il est utilisé quand <nom_sommaire> .dll.intermediate.manifest aurait dû être utilisé.

Une autre solution semble être de désactiver l'option "Embed Manifest" dans Propriétés, Outil Manifeste, Entrée et Sortie.

J'ai installé Visual Studio 2012 Release Preview, et cela semble aller, mais maintenant, lorsque j'essaie d'utiliser Visual Studio 2010 pour compiler des projets C ++, le message d'erreur suivant s'affiche:

LINK: erreur irrécupérable LNK1123: échec lors de la conversion en COFF: fichier invalide ou corrompu

Je ne suis pas sûr à 100% de cela, mais il semble être lié à des projets qui contiennent des fichiers .rc (ressources).

J'ai essayé de réparer Visual Studio 2010 à partir de Ajout / Suppression de programmes et de redémarrer, mais cela n'a aucun effet.

Je reçois également la même erreur si j'utilise Visual Studio 2012 RC pour compiler les projets C ++ lorsqu'il est défini pour utiliser le jeu d'outils Visual Studio 2010. La mise à niveau vers le jeu d'outils Visual Studio 2011 résout le problème (mais bien sûr, je ne veux pas le faire pour le code de production).

Mise à jour: j'ai désinstallé Visual Studio 2012 , redémarré, et le problème persiste toujours! Aidez-moi!



En Janvier 2014, pour certaines raisons, j'ai installé .NET Framework 4.5.1, je ne sais pas si en raison d'une installation de logiciels tiers ou à une mise à jour automatique.

Le 29 janvier, j'ai installé un composant et j'ai commencé à recevoir

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

message. À ce moment-là, j'ai résolu en évitant le lien incrémental.

Le 31 janvier, j'ai installé un autre composant de .NET Framework 4.5.1 et l'astuce de lien incrémental ne fonctionnait plus. J'ai ensuite installé Visual Studio 2010 SP1, mais après le problème est devenu:

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

Je pense que le SP1 a gâché mon installation de Visual Studio 2010.

J'ai donc désinstallé .NET Framework 4.5.1, installé .NET Framework 4.0 et désinstallé, puis réinstallé Visual Studio 2010. Cela a fonctionné pour moi.


J'ai essayé quelques fois et finalement résolu le problème en désinstallant plusieurs fois le VS2010. Je pense que je n'avais pas désinstallé tous les fichiers et c'est pourquoi ça n'a pas fonctionné pour la première fois.

Dans l'installation de VS2012, il est dit que si vous avez VS2010 SP1 vous ne pouvez pas travailler sur le même projet dans les deux programmes. Il est recommandé de n'avoir qu'un seul programme.

Merci!


J'ai eu le même problème avec Microsoft Visual Studio 2010 Ultimate et il a été résolu par la méthode décrite dans cette vidéo youtube

La vidéo suggère de renommer le fichier cvtres.exe dans C: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ VC \ bin (in my Win7X64 matchine) en cvtres-old.exe


J'ai mis Activer Incremental Linking à "No (/ INCREMENTAL: NO)" et cela ne fonctionne pas pour moi .

Ensuite j'ai changé:

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

Et cela fonctionne pour moi :)


J'ai résolu ceci en faisant ce qui suit:

  1. Dans une invite de commande, tapez msconfig et appuyez sur Entrée.
  2. Cliquez sur l'onglet services.
  3. Recherchez "Expérience d'application" et mettez une coche (c'est-à-dire, sélectionnez ceci pour activer).
  4. Cliquez sur OK. Et redémarrez si nécessaire.

Ainsi, le problème ira pour toujours. Construisez aléatoirement et déboguez vos projets C ++ sans aucune perturbation.


J'utilisais le SDK de Windows pour la programmation de base de Win32 et avait .NET 4.5 installé pour des raisons «inconnues». J'ai désinstallé cela et installé 4.0 comme réponses précédentes et oui, cela a fonctionné pour moi aussi.

Je suis simplement ébahi que j'ai dû utiliser le framework .NET inutile pour créer des applications Win32 en utilisant le SDK.


La réinstallation de CMake a fonctionné pour moi. La nouvelle copie de CMake a compris qu'il devrait utiliser Visual Studio 11 au lieu de 10.


Le problème a été résolu par magie en supprimant .NET 4.5 et en le remplaçant par .NET 4.0 . J'ai ensuite dû réparer Visual Studio 2010 - il a été corrompu en cours de route.

J'avais précédemment installé, puis désinstallé, Visual Studio 2012 - qui peut être lié au problème.


Mon problème était que j'avais deux chemins sur mon PC qui contenait les mêmes bibliothèques. Les deux chemins ont été ajoutés aux répertoires de bibliothèques supplémentaires dans Propriétés de configuration -> Lieur -> Général . Retrait de l'un des chemins a résolu le problème.


Pour ceux d'entre vous qui cherchent une solution à ce problème avec les exemples de code source OpenGL SuperBible 6th, la solution est en construction dans Release au lieu de Debug . Tous les projets ont désactivé l'option de liaison incrémentielle dans la version Release .


Résumer:

Step1

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

si l'étape 1 ne fonctionne pas, faites l'étape 2

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

Si l'étape 2 ne fonctionne pas, faites Step3 Copier le fichier un:

  1. C: \ Program Files (x 86) \ Microsoft Visual Studio 11.0 \ VC \ bin \ cvtres.exe
  2. C: \ Program Files (x86) \ Microsoft Visual Studio 12.0 \ VC \ bin \ cvtres.exe
  3. C: \ Program Files (x 86) \ Microsoft Visual Studio 13.0 \ VC \ bin \ cvtres.exe

    Ensuite, remplacez par C: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ VC \ bin \ cvtres.exe


Selon ce fil de discussion dans les forums MSDN: L'installation de VS2012 RC rompt les projets VS2010 C ++ , tout simplement, prenez cvtres.exe de VS2010 SP1

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

ou à partir de VS2012

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

et copiez-le sur cvtres.exe dans l'installation VS2010 RTM (celle sans SP1 )

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

De cette façon, vous utiliserez efficacement la version corrigée de cvtres.exe qui est 11.0.51106.1.

Répétez les mêmes étapes pour la version 64 bits de l'outil dans C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64\cvtres.exe .

Cette solution est une alternative à l'installation de SP1 pour VS2010 - dans certains cas, vous ne pouvez pas installer SP1 (c'est-à-dire si vous avez besoin de supporter les versions pre-SP1).


Si vous avez installé Visual Studio 2012 RC, il a installé .NET 4.5 RC.

Désinstallez .NET 4.5 RC et installez la version dont vous avez besoin (4.0 pour VS 2010). Cela devrait éclaircir tous les problèmes que vous rencontrez.

Cela a résolu le même problème. Il n'est pas nécessaire de désinstaller Visual Studio.


Si vous utilisez x64, voici une ressource qui vous aidera :

Cela se produit car Microsoft .NET 4.5 est incompatible avec Visual C ++ 10. La solution consiste à s'assurer que vous exécutez la version .NET de cvtres.exe plutôt que la version Visual C ++. Je l'ai fait en renommant les versions Visual C ++ de ces fichiers et en copiant les versions .NET à leur place.

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

Ce fil MSDN explique comment le réparer.

Résumer:

  • Désactivez la liaison incrémentielle en accédant à

    Project Properties 
       -> Configuration Properties 
           -> Linker (General) 
              -> Enable Incremental Linking -> "No (/INCREMENTAL:NO)"
    
  • ou installez VS2010 SP1.

Edits (@CraigRinger): Notez que l'installation de VS 2010 SP1 supprimera les compilateurs 64 bits . Vous devez installer le compilateur VS 2010 SP1 pour les récupérer.

Cela affecte Microsoft Windows SDK 7.1 pour Windows 7 et .NET 4.0 ainsi que Visual Studio 2010 .







visual-studio-2012