149 votes

Visual Studio ne peut pas construire à cause de rc.exe

J'ai cherché en ligne et je n'ai rien trouvé qui ressemble à mon problème.

J'ai créé un projet C++ vide et ajouté un main.cpp avec un retour et je n'arrive pas à le construire. Voici le message que je reçois :

1>------ Build started: Project: Project1, Configuration: Debug Win32 ------
1>LINK : fatal error LNK1158: cannot run 'rc.exe'
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Y a-t-il un endroit dans VS2012 où je peux spécifier où trouver cet exécutable ? J'ai installé le SDK de Windows 7 et j'ai cet exécutable à l'emplacement suivant :

C:\Program Files\Microsoft SDKs\Windows\v7.0\Bin

Je viens de Code::Blocks et j'utilise mingw-gcc sans aucun problème, mais dernièrement j'ai eu besoin de VS pour des implémentations gérées donc j'espère que quelqu'un a une idée.

8voto

alfredopacino Points 840

Je suis sous Windows 7 x64 et Visual Studio 2017 . J'obtiens cette erreur en essayant de compiler un cython script. Voilà comment j'ai résolu le problème : J'ai copié et collé rc.exe y rcdll.dll de :

C:\Program Files (x86)\Windows Kits\8.1\bin\x86

à

C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\x86_amd64

8voto

Sara S Points 91

Dans mon cas, VS 2019 sur Windows 10 x64, J'ai suivi en grande partie ce qui a été dit dans les réponses mais j'ai collé rc.exe y rcdll.dll de C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x86 a C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin qui est où link.exe est.

4voto

Angel Tsvetkov Points 41

Voici mon cas presque similaire :
J'ai un projet de travail VC2010 sous Win7 32bit. Je fais une installation propre de VC2013 sous Win8.1 64bit. Après la conversion réussie de mon projet de VC2010 à VC2013, pendant la 1ère compilation l'erreur suivante apparaît :
Fin de la génération du code
LINK : erreur fatale LNK1158 : impossible d'exécuter 'rc.exe'.

Solution 1 :
Supprimer toute la ligne "<ExecutablePath Condition="...">...</ExecutablePath>" dans l'élément "<PropertyGroup>" du fichier NameOfYourSolution.vcxproj dans le bloc-notes avant de lancer VC2013.
Solution 2 :
Copiez seulement deux fichiers : rc.exe et rcdll.dll de "c : \Program Fichiers (x86) \Windows Kits \8.1\bin\x86\ " à "c : \Program Fichiers (x86) \Microsoft Visual Studio 12.0 \VC\bin\ " et la compilation sera réussie !
Note :
a) Il n'est pas nécessaire de toucher à PATH ou à d'autres variables d'environnement Windows ou VC.
b) "Platform Toolset" (Project Property Pages -> Configuration Properties -> General) sera automatiquement réglé sur "Visual Studio 2013 (v120)" (ne le changez pas en "Visual Studio 2010" pour pouvoir continuer à développer votre projet sous les concepts VC2013)

4voto

Steve Points 417

Dans mon cas, l'erreur était due à un mauvais réglage dans un vcxproj. La vcxproj provenait d'une tierce partie, je ne sais donc pas comment elle s'est retrouvée dans cet état.

Plus précisément, pour l'une des combinaisons plate-forme/profil, le dossier de la plate-forme était absent du dossier bin du SDK Windows :

<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
 <ExecutablePath>$(VCInstallDir)bin\x86_amd64;$(VCInstallDir)bin;$(WindowsSdkDir)bin\NETFX 4.0 Tools;$(WindowsSdkDir)bin\x86;

est correcte, où

<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
 <ExecutablePath>$(VCInstallDir)bin\x86_amd64;$(VCInstallDir)bin;$(WindowsSdkDir)bin\NETFX 4.0 Tools;$(WindowsSdkDir)bin;

était incorrect. Il faut peut-être aller jusqu'au bout des cases de code pour voir la différence.

Notez également que pour une raison étrange, $(WindowsSdkDir)bin \x64 n'a PAS fonctionné pour moi. J'ai essayé de comprendre pourquoi, alors que rc.exe existe bel et bien dans ce dossier, mais j'ai abandonné.

À mon avis, les solutions des posters précédents qui impliquent de copier rc.exe partout sont mauvaises, car votre projet ne fonctionnera pas sur la machine d'un autre utilisateur. Si vous corrigez correctement les chemins dans le projet, il devrait fonctionner sur n'importe quelle machine avec une installation correcte du SDK Windows.

4voto

dodo Points 51

Je suis sous Windows 10 x64 et Visual Studio 2017. J'ai copié et collé rc.exe et rcdll.dll depuis :

C:\Program Files (x86)\Windows Kits\8.1\bin\x86

à

C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64

ça marche avec : ( qt creator 5.7.1 )

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X