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.

3voto

beebee Points 272

C'est peut-être un peu dépassé. Mais si la copie de rc.exe et exdll.dll n'a pas fonctionné, il est possible que le sdk de Windows ne soit pas installé correctement, même si le dossier sdk de Windows existe. Vous pouvez mettre à jour le sdk pour win 8 dans la page suivante : http://msdn.microsoft.com/en-US/Windows/hardware/hh852363 Après avoir réinstallé le SDK, le problème était résolu. Assurez-vous également que le jeu d'outils de la plate-forme est correctement configuré.

3voto

Artyom Chirkov Points 93

J'ai rencontré ce problème récemment. J'ai installé VS 2015 et VS 2017, ainsi que les kits Windows 8.1 et 10.

L'invite de commande de VS 2017 fonctionne comme prévu, rc.exe est visible. Dans VS 2015, ce n'est pas le cas. En fait, vcvarsall.bat script de VS 2015 ajoute bien un chemin vers le kit Windows 10 à la variable PATH, mais il ajoute un chemin légèrement erroné. Il ajoute le chemin vers

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

alors que le chemin réel est

"C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x86"

Il semble que la mise à jour du kit Windows 10 (ou l'installation de VS 2017) ait conduit à ce problème.

La solution est donc simple : il suffit de créer des liens symboliques dans " C:\Program Fichiers (x86) \Windows Kits \10\bin Un lien symbolique "x86" pour le dossier "10.0.17763.0", par exemple, pointe vers les dossiers correspondants du dossier sous-jacent. \x86 ", "x64" pour "10.0.17763.0 \x64 ", etc.

3voto

dynastoned Points 51

Je suis sous Windows 10 Pro x64, VS 19

En essayant d'installer mod_wsgi pour apache en cmd.

C:\>python -m pip install mod_wsgi

Voici l'erreur que j'ai obtenue à partir de mon invite de commande.

LINK : fatal error LNK1158: cannot run 'rc.exe'

error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\x86_amd64\\link.exe' failed with exit status 1158

J'ai dû copier rc.exe & rcdll.dll depuis

C:\Program Fichiers (x86) \Windows Kits \10\bin\10.0.18362.0\x86

et l'ajouter à

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

résultat de la commande

C:\>python -m pip install mod_wsgi
Collecting mod_wsgi
Using cached mod_wsgi-4.7.1.tar.gz (498 kB)
Installing collected packages: mod-wsgi
Running setup.py install for mod-wsgi ... done
Successfully installed mod-wsgi-4.7.1

J'espère que cela aidera quelqu'un.

2voto

hcris Points 9359

J'ai eu le même problème sur VS 2013 et j'ai pu le résoudre en changeant l'option Platform Toolset .

Vous pouvez le trouver dans les paramètres du projet, généralités.

Par exemple, la commutation Platform Toolset à VS 2010 fera en sorte que VS utilise l'interface de Windows \v7.0A SDK.

Vous pouvez vérifier quel chemin du SDK est utilisé en ajoutant ceci à votre événement de préconstruction :

echo using SDK $(WindowsSdkDir)

2voto

Jeremy Whitcher Points 454

J'utilise Windows 7 avec VS 2013 (Update 3) et Intel Parallel Studio XE Composer Edition pour Fortran Windows (Update 5). Dès la sortie de la boîte, j'ai eu le même problème.

Après avoir résolu le problème de rc.exe manquant, j'ai eu un autre problème. Il manquait kernel32.lib à l'éditeur de liens.

J'ai corrigé les deux problèmes en mettant à jour les options d'Intel Composer (TOOLS->Options...->Intel Composer XE->Visual Fortran->Compilateurs).

Pour l'onglet Win32, j'ai ajouté :

Exécutables : C:\Program Fichiers (x86) \Windows Kits \8.0\bin\x86 ; (juste avant $(PATH))

Bibliothèques : C:\Program Fichiers (x86) \Windows Kits \8.0\Lib\win8\um\x86 ; (à la fin)

Pour l'onglet x64, j'ai ajouté :

Exécutables : C:\Program Fichiers (x86) \Windows Kits \8.0\bin\x64 ; (juste avant $(PATH))

Bibliothèques : C:\Program Fichiers (x86) \Windows Kits \8.0\Lib\win8\um\x64 ; (à la fin)

Mise à jour...

Il me manquait également certains fichiers d'en-tête du SDK (winver.h et winapifamily.h). J'ai ajouté ce qui suit dans la même zone TOOLS->Options....

Pour les onglets win32 et x64

Comprend : C:\Program Fichiers (x86) \Windows Kits \8.0\Include\um ; C:\Program Fichiers (x86) \Windows Kits \8.0\Include\shared ;

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