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.
visual-studio-2012
Patrick.SE
la source
la source
Réponses:
Trouvé ceci sur Google ... Je suppose que dans votre cas, vous copieriez
rc.exe
etrcdll.dll
versvisual studio 2012\vc\bin
ou où vous l'avez installé:Partie 2: FIX LINK:
fatal error LNK1158: cannot run ‘rc.exe’
Ajoutez ceci à vos variables d'environnement PATH:
Copiez ces fichiers:
De
À
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:
Maintenant, je peux créer et lier des fichiers de ressources sans erreur.
la source
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\x86_amd64
et j'ai exécuté des commandes:copy "C:\Program Files (x86)\Windows Kits\10\bin\10.0.16299.0\x64\rc.exe"
etcopy "C:\Program Files (x86)\Windows Kits\10\bin\10.0.16299.0\x64\rcdll.dll"
pour résoudre ce problème dans Visual Studio 2015Nous 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
Notez l'option 8.1 à la fin
la source
call C:\\(....)\vcvarsall.bat" amd64 8.1
etstart cmake-gui
, fonctionne comme un charmeD'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.
la source
Cette
rc.exe
erreur 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.
la source
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.
la source
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:
à
la source
C:\Program Files (x86)\Windows Kits\8.1\bin\x64
deC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64
.C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x64
versC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\x86_amd64
pour corriger le problème de construction de Visual Studio en raison d'une erreur rc.exeVoici 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)
la source
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:
est correct, où
é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.
la source
Je suis sous Windows 10 x64 et Visual Studio 2017. J'ai copié et collé rc.exe et rcdll.dll à partir de:
à
cela fonctionne avec: (qt creator 5.7.1)
la source
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.
la source
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
tandis que le chemin réel est
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.
la source
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:
la source
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;
la source
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:
Cela permettra à WinSDK7.1, via MSBuild, de pouvoir compiler les fichiers .rc dans les exécutables.
la source
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é.
la source
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"
la source
Ajouter à votre fenêtre de variable d'environnement chemin sdk 8.1
puis ouvrez l'invite de commande des outils natifs de Visual studio x64 et entrez
la source
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.
la source
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>
la source
J'ai eu l'erreur de lien de l'OP
rc.exe
lors de la tentative d'exécution à l'pip install
intérieur d'unebash
tâ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.exe
intérieur de labash
tâche juste avant d'appelerpip install
, comme ceci:C'était à l'intérieur d'un Azure
job
qui utilisaitvmImage: 'windows-2019'
pour son agent; c'est-à-dire Windows Server 2019 avec Visual Studio 2019.la source
J'ai pu le faire fonctionner pour moi aussi de cette façon dans Windows
Vous pouvez facilement définir votre variable d'environnement en utilisant
la source
Dans mon cas, j'ai installé le SDK Windows 10586 via Visual Studio 2015 -> Modifier , puis les chemins suivants sont installés.
la source
Pour Visual Studio Community 2019, la copie des fichiers dans les réponses ci-dessus (
rc.exe rcdll.dll
) aC:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.21.27702\bin\Hostx86\x86
fait l'affaire pour moi.la source
Je suis sous Windows 10 Pro x64, VS 19.
Lorsque vous essayez d'installer mod_wsgi pour apache dans cmd.
C'est l'erreur que j'obtenais de mon invite de commande.
J'ai dû copier rc.exe & rcdll.dll à partir de
et ajoutez-le à
résultat de cmd
J'espère que cela aide quelqu'un.
la source
«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
la source