web-dev-qa-db-fra.com

LNK1158 ne peut pas exécuter Visual Studio rc.exe x64

J'essaie de compiler un programme simple dans Visual Studio pour une plate-forme 64 bits. En essayant de compiler, j'obtiens l'erreur suivante: LINK: erreur fatale LNK1158: impossible d'exécuter 'rc.exe'

Je suis allé à many discussions où il est indiqué de copier les fichiers rc.exe et rcdll.dll du dossier Kits Windows dans le dossier VC/bin. J'ai fait cela en vain. Il me semble que ma version de Visual Studio peut ne pas être simplement dans le répertoire. Je pense qu'elle recherche ce fichier rc.exe. Existe-t-il un moyen d'identifier dans Visual Studio le répertoire dans lequel il recherche cet exécutable?

(Il a été suggéré que ce problème soit un double de la question et de la réponse fournies à Impossible de compiler avec VC++/VS2010 en ciblant x64: LNK1158: impossible d'exécuter cvtres.exe . Toutefois, cela ne semble pas être le cas car , le chemin était corrompu par certains services NV qui fonctionnaient sur le système. Je ne rencontre pas ce problème car mon chemin complet s’affiche lorsque je tape echo% PATH%. Cela étant dit, ce lien m’a conduit au solution correcte, donnée ci-dessous)

8
gboy

L'erreur était en effet à l'endroit où je plaçais les fichiers rc.exe et rcdll.dll. Comme je compile sur une plate-forme 64 bits, Visual Studio utilise le 'compilateur croisé' 64 bits qui ne réside pas réside dans le répertoire $ (VSInstallDir)\VC\bin mais $ (VSInstallDir). Dossier\VC\bin\x86_AMD64.

Ainsi, la solution à mon problème consistait à copier rc.exe et rcdll.dll du dossier C:\Program Kits\Windows Kits\8.1\bin\x86 dans le dossier $ (VSInstallDir)\VC\bin\x86_AMD64 .

Faire cela a surmonté cette première erreur. 

Cependant, lors de la construction, une nouvelle erreur est apparue: LNK1158: impossible d'exécuter 'cvtres.exe'. Contrairement à ma première erreur rc.exe, ce fichier réside déjà dans le dossier $ (VSInstallDir)\VC\bin. Le problème est que le compilateur croisé le recherche dans son propre répertoire. Je viens donc de copier ce fichier du dossier $ (VSInstallDir)\VC\bin vers le dossier $ (VSInstallDir)\VC\bin\x86_AMD64.

Une fois que j'ai fait cela, mon projet a été construit et exécuté.

19
gboy

j'ai rencontré cette erreur lors de la compilation d'un code python sous VS2015 Windows 10 copié sur anaconda3.

rc.exe 

rcdll.dll

de 

C:\Program Files (x86)\Kits Windows\10\bin\10.0.17134.0\x64

et collé dans le dossier d'installation de visual studio

C:\Fichiers de programme (x86)\Microsoft Visual Studio 14.0\VC\bin

généré avec succès le code.

1
Khan