Visual Studio ne peut pas générer en raison de rc.exe

128

J'ai effectué des recherches 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 ne peux 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 quelque part dans VS2012 où je peux spécifier où trouver cet exécutable? J'ai installé le SDK Windows 7 et j'ai cet exécutable sur:

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 besoin de VS pour des implémentations gérées donc j'espère que quelqu'un a une idée.

Patrick.SE
la source
FYI - cassé dans Visual Studio 2013 Professional aussi :(
gbjbaanb
mais il semble que le problème soit le chemin d'accès au répertoire du SDK Windows (ou aux kits Windows, peu importe comment ils les appellent cette semaine). La variable $ (WindowsSdkDir) n'est pas définie sur le répertoire WindowsKits, elle est définie sur le répertoire WindowsSDK à la place qui a un contenu «minimal».
gbjbaanb
3
Bonne solution pour les problèmes VS2015 similaires, causés par VS2017: stackoverflow.com/a/45319119/508431
Isaiah Norton
1
assurez-vous de lire CE QA CRITIQUE stackoverflow.com/questions/43847542
Fattie

Réponses:

242

Trouvé ceci sur Google ... Je suppose que dans votre cas, vous copieriez rc.exeet rcdll.dllvers visual studio 2012\vc\binou où vous l'avez installé:

Partie 2: FIX LINK: fatal error LNK1158: cannot run ‘rc.exe’

Ajoutez ceci à vos variables d'environnement PATH:

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

Copiez ces fichiers:

rc.exe
rcdll.dll

De

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

À

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

Ou j'ai également trouvé ceci:
Microsoft a laissé quelques éléments de son package MSVT. Comme personne ne sait s'ils ont été laissés de côté par erreur ou pour des raisons de licence, personne avec MSVC n'est trop intéressé à les donner. Quelques recherches Google révèlent des sources délicates. Heureusement, Microsoft a enfin compris et résolu ce problème et bien d'autres.

http://msdn.microsoft.com/vstudio/express/support/faq/default.aspx#pricing

http://msdn.microsoft.com/vstudio/express/support/install/

Une bonne quantité de fichiers MSVT manquants sont là, mais les fichiers SDK manquants ne le sont pas.

et ceci:
j'ai eu le même problème que j'ai résolu en faisant ceci:

  1. Installation de Microsoft .Net Framework 2.0
  2. Ajout du chemin des fichiers .NET Framework (pour moi "C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727") aux paramètres globaux du compilateur> Programmes> Chemins supplémentaires dans Code :: Blocks.

Maintenant, je peux créer et lier des fichiers de ressources sans erreur.

Kat Cox
la source
6
Merci, c'était une manière simple de copier les exécutables rc du bac SDK vers le bac VS.
Patrick.SE
Eh bien, la plupart de cette réponse était des citations ... donc juste pour clarifier "J'ai eu le même problème que j'ai résolu en faisant ceci:" ce n'est pas moi, mais quelque chose que j'ai trouvé posté
Kat Cox
1
Question: pourquoi utilisez-vous les fichiers x86 rc.exe et rcdll.dll, plutôt que les versions x64?
Carl
1
Eh bien, je viens de copier et coller les réponses que j'ai trouvées ... mais vous utiliseriez le x86 sur une installation 32 bits (que vous pourriez avoir même sur un système 64 bits) et vous utiliseriez le x64 sur une installation 64 bits ... dépend de la version du fichier que vous êtes censé avoir
Kat Cox
2
Je suis à C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\x86_amd64et j'ai exécuté des commandes: copy "C:\Program Files (x86)\Windows Kits\10\bin\10.0.16299.0\x64\rc.exe"et copy "C:\Program Files (x86)\Windows Kits\10\bin\10.0.16299.0\x64\rcdll.dll"pour résoudre ce problème dans Visual Studio 2015
Jari Turkia
61

Nous avons rencontré ce problème avec nos versions CMake / Visual Studio 2015 après avoir également installé VS2017 sur la machine. La solution correcte dans notre cas est de spécifier la version de Window Kit (8.1) à l'invite de commandes de Visual Studio - sinon, vous obtenez le Kit Windows 10 par défaut qui n'inclut pas rc.exe dans le répertoire bin.

Par exemple, Menu Démarrer-> Visual Studio 2015-> Invite de commandes VS2015 x64 Native Tools

%comspec% /k "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" amd64 8.1

Notez l'option 8.1 à la fin

MattAU
la source
5
Je suppose que c'est la bonne façon de résoudre ce problème.
jagttt le
2
Bien que je sois dans la même situation (Win10 avec VS2015 ET VS2017 également installés), cela n'a pas fonctionné pour moi. La seule chose qui a résolu le problème pour moi a été d'ajouter manuellement "C: \ Program Files (x86) \ Microsoft SDKs \ Windows \ v7.1A \ Bin" (la dernière version du SDK à contenir rc.exe) au PATH!
Scylardor
@Scylardor - le chemin que vous avez utilisé était pour le SDK 7.1. Le SDK 8.1 est-il installé sous C: \ Program Files (x86) \ Microsoft SDKs \ Windows? Il peut être possible d'utiliser la même commande avec 7.1 à la fin dans votre cas ou vous devrez peut-être installer le SDK 8.1.
MattAU
J'ai créé un fichier batch avec call C:\\(....)\vcvarsall.bat" amd64 8.1et start cmake-gui, fonctionne comme un charme
Marius
Merci d'avoir exactement la même configuration (VS côte à côte) et c'est beaucoup plus propre que de copier des fichiers!
E. Moffat
32

D'après ce que j'ai trouvé, si vous avez un système d'exploitation Windows 7, les étapes suivantes résoudront le problème:

1) allez dans C: \ Program Files (x86) \ Microsoft SDKs \ Windows \ v7.1A \ Bin

2) puis copiez RC.exe et RcDll à partir de ce fichier

3) allez dans C: \ Program Files (x86) \ Microsoft Visual Studio 12.0 \ VC \ bin et collez-y les deux fichiers que vous avez copiés.

J'ai eu le même problème et la solution publiée ci-dessus n'a pas fonctionné. Ma solution en est dérivée, et cela a fonctionné pour moi, si celles ci-dessus ne fonctionnent pas, vous pouvez essayer celle-ci.

Tony
la source
4
Étonnamment, cela a fonctionné pour moi aussi, en copiant de v7.1A \ Bin vers Microsoft Visual Studio 14.0 \ VC \ bin
escapecharacter
Cela n'a pas fonctionné pour moi sur le serveur Windows 2012 avec VS 2017 installé aux côtés de VS 2015.
iLikeDirt
18

Cette rc.exeerreur peut se produire si le compilateur Visual C ++ et les versions du SDK Windows 10 ne correspondent pas à la même année de Visual Studio. En général, la solution consiste à vous assurer que vous avez sur votre système et que vous utilisez dans la compilation, VC ++ et Windows SDK pour l'année de Visual Studio que vous utilisez.

Par exemple, si vous avez Visual Studio 2017 ou 2019 et que vous avez installé Build Tools 2015 sans choisir d'installer son propre SDK Windows 2015 (l'installation par défaut ne l'installe pas!), Et que vous essayez de l'utiliser pour compiler, vous pouvez rencontrer ce problème.

Dans mon cas, j'avais déjà Visual Studio 2017. Lorsque j'ai essayé d'utiliser Build Tools 2015 pour compiler une bibliothèque python (ou probablement n'importe quel programme), cette même erreur «rc.exe» s'est produite. J'ai lu que le compilateur VS2015 14.0 C ++ peut tomber en panne s'il tente d'utiliser le SDK Windows 10 à partir de Visual Studio 2017.

J'ai désinstallé Build Tools 2015 et je l'ai réinstallé, cette fois en tant qu'installation personnalisée , en choisissant d'installer à la fois les composants Visual C ++ et Windows 10 SDK. Cela a résolu le problème.

MISE À JOUR: Je viens de regarder à nouveau Build Tools 2015, et apparemment, il n'y a plus d'option d'installation personnalisée. Si tel est le cas, l'installation de Visual Studio 2015 avec les composants C ++ et Windows SDK doit également fonctionner.

OrangeSorbet
la source
2
Merci beaucoup, c'est en effet la bonne solution. Remarque: j'ai essayé d'ajouter le SDK via la commande "Modifier" du programme d'installation, mais il est resté bloqué. Dû redémarrer, désinstaller, puis installer à partir de zéro.
Violet Giraffe
Quelqu'un pourrait-il aider à clarifier ce que signifiait "... l'a réinstallé [Build Tools 2015], cette fois en tant qu'installation personnalisée, en choisissant d'installer à la fois les composants Visual C ++ et Windows 10 SDK." Installé d'où? En tant que fournisseur autonome de Microsoft?
estebro le
@estebro Si vous recherchez "Build Tools 2015" et cliquez sur le premier lien, vous serez redirigé vers la page de téléchargement de Microsoft pour ce package autonome. Téléchargez et installez le package, mais NE laissez PAS le package s'installer par défaut si vous rencontrez le problème rc.exe. INSTEAD, sélectionnez pour une installation personnalisée et assurez-vous d' activer l'installation du SDK Windows (ce n'est pas la valeur par défaut).
OrangeSherbet
1
C'est la vraie réponse conceptuellement correcte. Tous les autres sont des hacks qui peuvent ne pas fonctionner; aucun d'eux ne l'a fait pour moi.
iLikeDirt
1
CET OMFG! Merci pour l'explication claire. J'ai rencontré exactement le même problème et les personnes qui ont blâmé l'installation étaient un tel hareng rouge. J'ai réinstallé cinq fois pour voir le même résultat.
Ananth
11

Dans mon cas, j'ai eu une erreur de mix and match entre les projets créés dans VS2015 et VS2017. Dans mon fichier .vcxproj, il y a cette section appelée PropertyGroup Label = "Globals">. J'avais une section pour TargetPlatformVersion = 10.0.15063.0. Lorsque j'ai supprimé TargetPlatformVersion, cela a résolu le problème.

Désolé, je ne peux pas copier et coller le bloc ici, mais le format de codage stackoverflows ne le permettait pas.

Todd Rupper
la source
Ce fixe. THX.
My1
7

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

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

à

C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\x86_amd64
Alfredopacino
la source
3
Ces instructions sont pour 32 bits. 64 bits, essayez C:\Program Files (x86)\Windows Kits\8.1\bin\x64de C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64.
Contango
Pour nous avec Cython, cela a fonctionné: nous avons copié le C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x64vers C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\x86_amd64pour corriger le problème de construction de Visual Studio en raison d'une erreur rc.exe
Brandon
4

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 en VC2013, lors de la 1ère compilation, l'erreur suivante augmente:
Fin de la génération de code
LINK: erreur fatale LNK1158: impossible d'exécuter 'rc.exe'

Solution 1:
Supprimer ligne entière "<ExecutablePath Condition =" ... "> ... </ExecutablePath>" dans l'élément "<PropertyGroup>" dans le fichier NameOfYourSolution.vcxproj dans le bloc-notes avant d'exécuter VC2013
Solution 2:
Copiez seulement deux fichiers: rc.exe et rcdll.dll de «c: \ Program Files (x86) \ Windows Kits \ 8.1 \ bin \ x86 \» à «c: \ Program Files (x86) \ Microsoft Visual Studio 12.0 \ VC \ bin \» et la compilation sera réussi!!
Remarque:
a) Il n'est pas nécessaire de toucher à un PATH ou à d'autres variables d'environnement Windows ou VC.
b) «Platform Toolset» (Pages de propriétés du projet -> Propriétés de configuration -> Général) sera automatiquement défini sur «Visual Studio 2013 (v120)» (ne le changez pas en «Visual Studio 2010» pour pouvoir continuer à développer votre projet sous les concepts VC2013)

Ange T
la source
4

Dans mon cas, l'erreur était due à un mauvais réglage dans un vcxproj. Le vcxproj provenait d'un tiers, donc je ne sais pas comment il est arrivé dans cet état.

Plus précisément, pour l'un des combos plateforme / profil, le dossier plateforme é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 correct, où

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

était incorrect. Vous devrez peut-être faire défiler jusqu'à la fin des zones de code pour voir la différence.

Notez également que pour une raison étrange $ (WindowsSdkDir) bin \ x64; N'a pas travaillé pour moi. J'ai essayé de comprendre pourquoi, alors que rc.exe existe définitivement dans ce dossier, mais j'ai abandonné.

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

Steve
la source
4

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

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

à

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

cela fonctionne avec: (qt creator 5.7.1)

dodo
la source
3

Cela pourrait ê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 Windows ne soit pas installé correctement même si le dossier sdk Windows existe. Vous pouvez mettre à jour le sdk pour win 8 sur la page suivante: http://msdn.microsoft.com/en-US/windows/hardware/hh852363 Après avoir réinstallé le sdk, le problème serait résolu. Assurez-vous également que le jeu d'outils de la plate-forme est correctement défini.

abeille
la source
3

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

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

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

tandis 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 le dossier "C: \ Program Files (x86) \ Windows Kits \ 10 \ bin" pointant vers les dossiers correspondants dans le dossier sous-jacent, par exemple un lien symbolique "x86" pour le dossier "10.0 .17763.0 \ x86 "," x64 "pour" 10.0.17763.0 \ x64 "etc.

Artyom Chirkov
la source
2

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

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

Par exemple, le passage Platform Toolsetà VS 2010 obligera VS à utiliser le SDK Windows \ v7.0A.

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

echo using SDK $(WindowsSdkDir)
laktak
la source
mais cela signifie quand même que le VS2013 ne prend pas du tout en charge les applications MFC. Notez que le rc.exe se trouve dans le répertoire "Windows Kits" et non plus dans les répertoires du SDK. Inutile.
gbjbaanb
2

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

Une fois que j'ai résolu le problème rc.exe manquant, j'ai eu un autre problème. L'éditeur de liens manquait kernel32.lib.

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

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

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

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

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

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

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

Mettre à jour...

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

Pour les onglets win32 et x64

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

Jeremy Whitcher
la source
2

Je viens de comprendre qu'un (sur les 3 au total) projets de ma solution VS2010 (SDK7.1) (les projets sont liés dans une chaîne de dépendance linéaire séquentielle), avait un fichier .rc dans les fichiers de projet qui était vide. La suppression du fichier .rc vide (du projet, sans le supprimer) a résolu le problème "erreur fatale LNK1158: ... cvtres.exe".

Mise à jour: la copie suivante a résolu le problème:

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

Cela permettra à WinSDK7.1, via MSBuild, de pouvoir compiler les fichiers .rc dans les exécutables.

Sterge
la source
BTW, la copie suivante a résolu le problème: xcopy "C: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ VC \ bin \ cvtres.exe" "C: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ VC \ bin \ x86_amd64 \ "Cela permettra à WinSDK7.1, via MSBuild, de compiler les fichiers .rc dans les exécutables.
Sterge
2

C'est encore plus facile que cela avec Visual Studio 2017. Suivez ces instructions: https://docs.microsoft.com/en-us/visualstudio/install/modify-visual-studio pour modifier à l'aide de Microsoft Visual Studio Installer.

Une fois dans le programme d'installation de Microsoft Visual Studio, cliquez sur modifier sous votre package Visual Studio installé, assurez-vous que le développement de bureau avec C ++ est coché et la prise en charge MFC et ATl (x86 et x64), sous résumé.

Bluto
la source
1

Cela peut être dû à un vcxproj issu des versions précédentes de Visual Studio OU à la modification du jeu d'outils de plate-forme dans Propriétés de configuration -> Général.

Si oui, solution possible:

1) Allez dans Propriétés de configuration -> Répertoires VC ++

2) Sélectionnez la liste déroulante pour les répertoires exécutables

3) Sélectionnez "Hériter des paramètres par défaut du parent ou du projet"

Gunnar
la source
1

Ajouter à votre fenêtre de variable d'environnement chemin sdk 8.1

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

puis ouvrez l'invite de commande des outils natifs de Visual studio x64 et entrez

vcvarsall.bat

Khan
la source
1

Si vous avez vraiment besoin d'utiliser le SDK Windows 10 avec Visual Studio 2015, vous devez télécharger une version plus ancienne sur sdk-archive . La version plus récente du SDK a changé l'emplacement de l'exécutable rc et MSBuild de Visual Studio 2015 Update 3 (dernière version) ne peut pas le localiser. Au moins la version 10.0.14393.795 du SDK Windows est toujours compatible avec Visual Studio 2015.

Xavier Bigand
la source
Cela pourrait être la véritable explication de ce problème exaspérant. Voici encore un autre QA récent sur la question, pour quiconque cherche ici ........ stackoverflow.com/a/53804573/294884
Fattie
1

Peut-être que le fichier du projet a été touché par VS2017. Ensuite, lorsque vous liez le projet en 2015 "LINK: erreur fatale LNK1158: impossible d'exécuter 'rc.exe'" peut freiner la construction.

Dans vcxproj, essayez de:

1) remplacer:

<WindowsTargetPlatformVersion>10.0.17763.0</WindowsTargetPlatformVersion> avec: <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>

2) supprimer: <VCProjectVersion>15.0</VCProjectVersion>

3) remplacer: <PlatformToolset>v141</PlatformToolset> par: <PlatformToolset>v140</PlatformToolset>

user1439579
la source
1

J'ai eu l'erreur de lien de l'OP rc.exelors de la tentative d'exécution à l' pip installintérieur d'une bashtâche dans un pipeline Azure DevOps que j'utilisais pour créer un package Python à partir de la source avec des extensions C ++. J'ai pu le résoudre en ajoutant le chemin à l' rc.exeintérieur de la bashtâche juste avant d'appeler pip install, comme ceci:

PATH="/c/Program Files (x86)/Windows Kits/10/bin/10.0.18362.0/x64":$PATH

C'était à l'intérieur d'un Azure jobqui utilisait vmImage: 'windows-2019'pour son agent; c'est-à-dire Windows Server 2019 avec Visual Studio 2019.

snark
la source
1

J'ai pu le faire fonctionner pour moi aussi de cette façon dans Windows

  1. Définissez votre variable d'environnement pour qu'elle pointe vers l'emplacement de votre rc.exe en supposant que vous utilisez la version x86

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

Vous pouvez facilement définir votre variable d'environnement en utilisant

C:> chemin setx "% chemin%; C: \ Program Files (x86) \ Windows Kits \ 10 \ bin \ 10.0.18362.0 \ x86"

  1. Redémarrez votre Qt Creator
  2. Nettoyer et reconstruire
Dexter
la source
0

Dans mon cas, j'ai installé le SDK Windows 10586 via Visual Studio 2015 -> Modifier , puis les chemins suivants sont installés.

C: \ Program Files (x86) \ Windows Kits \ 10 \ bin \ arm64 \ rc.exe

C: \ Program Files (x86) \ Windows Kits \ 10 \ bin \ x64 \ rc.exe

C: \ Program Files (x86) \ Windows Kits \ 10 \ bin \ x86 \ rc.exe

Félix Xu
la source
0

Pour Visual Studio Community 2019, la copie des fichiers dans les réponses ci-dessus ( rc.exe rcdll.dll) a C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.21.27702\bin\Hostx86\x86fait l'affaire pour moi.

Rahul Kumar
la source
0

Je suis sous Windows 10 Pro x64, VS 19.

Lorsque vous essayez d'installer mod_wsgi pour apache dans cmd.

C:\>python -m pip install mod_wsgi

C'est l'erreur que j'obtenais 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 à partir de

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

et ajoutez-le à

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

résultat de cmd

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 aide quelqu'un.

dynastonné
la source
0

«L'erreur LNK1158 ne peut pas exécuter 'rc.exe» peut être due à l'ouverture de votre projet par une version plus récente de MS VS. Par exemple, votre projet a été créé dans VS 2015, puis a été ouvert plus tard en 2017. Ensuite, votre projet est ouvert en 2015.

Pour résoudre ce problème, ouvrez yourProjectName.vcxproj, recherchez WindowsTargetPlatformVersion et passez à la version VS correcte

Pour VS 2015, ce devrait être 8.1 pour VS 2017, ce devrait être 10.0.17763.0

À M
la source