Ich habe online gesucht und konnte nichts finden, das meinem Problem ähnelte.
Ich habe ein leeres C ++ - Projekt erstellt und eine main.cpp mit einer Rückgabe hinzugefügt, und ich kann sie nicht zum Erstellen bringen. Hier ist die Nachricht, die ich erhalte:
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 ==========
Gibt es irgendwo in VS2012, wo ich angeben kann, wo sich diese ausführbare Datei befindet? Ich habe das Windows 7 SDK installiert und habe diese ausführbare Datei unter:
C:\Program Files\Microsoft SDKs\Windows\v7.0\Bin
Ich komme aus Code :: Blocks und benutze mingw-gcc ohne Probleme, aber in letzter Zeit brauche ich VS für verwaltete Implementierungen, also hoffe ich, dass jemand eine Idee hat.
visual-studio-2012
Patrick.SE
quelle
quelle
Antworten:
Gefunden bei Google ... Ich würde davon ausgehen, dass Sie in Ihrem Fall kopieren
rc.exe
undrcdll.dll
anvisual studio 2012\vc\bin
oder wo immer Sie es installiert haben:Teil 2: FIX LINK:
fatal error LNK1158: cannot run ‘rc.exe’
Fügen Sie dies Ihren PATH-Umgebungsvariablen hinzu:
Kopieren Sie diese Dateien:
Von
Zu
Oder ich fand auch
Folgendes : Microsoft hat einige Dinge aus seinem MSVT-Paket herausgelassen. Da niemand weiß, ob sie versehentlich oder aus Lizenzgründen ausgelassen wurden, ist niemand mit MSVC zu sehr daran interessiert, sie herauszugeben. Bei einigen Google-Suchanfragen werden einige knifflige Quellen gefunden. Glücklicherweise hat Microsoft dieses und viele weitere Probleme endlich gelöst und gelöst.
http://msdn.microsoft.com/vstudio/express/support/faq/default.aspx#pricing
http://msdn.microsoft.com/vstudio/express/support/install/
Es gibt eine gute Anzahl fehlender MSVT-Dateien, die fehlenden SDK-Dateien jedoch nicht.
und das:
Ich hatte das gleiche Problem, das ich damit gelöst habe:
Jetzt kann ich Ressourcendateien fehlerfrei erstellen und verknüpfen.
quelle
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\x86_amd64
und führte Befehle aus:copy "C:\Program Files (x86)\Windows Kits\10\bin\10.0.16299.0\x64\rc.exe"
undcopy "C:\Program Files (x86)\Windows Kits\10\bin\10.0.16299.0\x64\rcdll.dll"
um dies in Visual Studio 2015 zu behebenWir haben dieses Problem bei unseren CMake / Visual Studio 2015-Builds festgestellt, nachdem wir auch VS2017 auf dem Computer installiert haben. In unserem Fall besteht die richtige Lösung darin, die Windows Kit-Version (8.1) in der Visual Studio-Eingabeaufforderung anzugeben. Andernfalls erhalten Sie standardmäßig das Windows 10 Kit, das rc.exe nicht im bin-Verzeichnis enthält.
zB Startmenü-> Visual Studio 2015-> VS2015 x64 Native Tools-Eingabeaufforderung
Beachten Sie die Option 8.1 am Ende
quelle
call C:\\(....)\vcvarsall.bat" amd64 8.1
und erstelltstart cmake-gui
, funktioniert wie ein ZauberWenn Sie ein Windows 7-Betriebssystem haben, können Sie das Problem nach den folgenden Schritten beheben:
1) Gehen Sie zu C: \ Programme (x86) \ Microsoft SDKs \ Windows \ v7.1A \ Bin
2) Kopieren Sie dann RC.exe und RcDll aus dieser Datei
3) Gehen Sie zu C: \ Programme (x86) \ Microsoft Visual Studio 12.0 \ VC \ bin und fügen Sie die beiden Dateien ein, die Sie kopiert haben.
Ich hatte das gleiche Problem und die oben angegebene Lösung funktionierte nicht. Meine Lösung wurde daraus abgeleitet und hat bei mir funktioniert. Wenn die oben genannten nicht funktionieren, können Sie diese ausprobieren.
quelle
Dieser
rc.exe
Fehler kann auftreten, wenn der Visual C ++ - Compiler und die Windows 10 SDK-Versionen nicht demselben Visual Studio-Jahr entsprechen. Im Allgemeinen besteht die Lösung darin, sicherzustellen, dass Sie über Ihr System verfügen und in der Kompilierung VC ++ und Windows SDK für das von Ihnen verwendete Visual Studio-Jahr verwenden.Wenn Sie beispielsweise über Visual Studio 2017 oder 2019 verfügen und Build Tools 2015 installiert haben, ohne das eigene Windows SDK 2015 zu installieren (Standardinstallation installiert es nicht!) Und versuchen, es zum Kompilieren zu verwenden, können Sie darauf stoßen dieses Problem.
In meinem Fall hatte ich bereits Visual Studio 2017. Als ich versuchte, mit Build Tools 2015 eine Python-Bibliothek (oder wahrscheinlich ein beliebiges Programm) zu kompilieren, trat der gleiche Fehler "rc.exe" auf. Ich habe gelesen, dass der VS2015 14.0 C ++ - Compiler einen Fehler verursachen kann, wenn er versucht, das Windows 10 SDK von Visual Studio 2017 zu verwenden.
Ich habe Build Tools 2015 deinstalliert und neu installiert, diesmal als benutzerdefinierte Installation, wobei ich ausgewählt habe, sowohl visuelle C ++ - als auch Windows 10 SDK-Komponenten zu installieren . Dies hat das Problem behoben.
UPDATE: Ich habe mir Build Tools 2015 noch einmal angesehen und anscheinend gibt es keine benutzerdefinierte Installationsoption mehr. In diesem Fall sollte auch die Installation von Visual Studio 2015 mit C ++ - und Windows SDK-Komponenten funktionieren.
quelle
In meinem Fall hatte ich einen Mix-and-Match-Fehler zwischen Projekten, die in VS2015 und VS2017 erstellt wurden. In meiner .vcxproj-Datei gibt es diesen Abschnitt mit dem Namen PropertyGroup Label = "Globals">. Ich hatte einen Abschnitt für TargetPlatformVersion = 10.0.15063.0. Als ich die TargetPlatformVersion entfernte, löste das das Problem.
Leider kann ich den Block hier nicht kopieren und einfügen, aber das Codierungsformat für Stapelüberläufe hat dies nicht zugelassen.
quelle
Ich bin auf Windows 7 x64 und Visual Studio 2017 . Ich erhalte diesen Fehler beim Kompilieren eines Cython-Skripts. So habe ich gelöst: Ich habe rc.exe und rcdll.dll kopiert und eingefügt von:
zu
quelle
C:\Program Files (x86)\Windows Kits\8.1\bin\x64
zuC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64
.C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x64
umC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\x86_amd64
zu beheben, dass Visual Studio aufgrund eines rc.exe-Fehlers nicht erstellt werden kannHier ist mein fast ähnlicher Fall:
Ich habe ein VC2010-Arbeitsprojekt unter Win7 32bit. Ich mache eine Neuinstallation von VC2013 unter Win8.1 64bit Nach erfolgreicher Konvertierung meines Projekts von VC2010 nach VC2013 tritt während der ersten Kompilierung der folgende Fehler auf:
Generierung des Codes
LINK abgeschlossen: Schwerwiegender Fehler LNK1158: 'rc.exe' kann nicht ausgeführt werden
Lösung 1:
Löschen ganze Zeile “<ExecutablePath Condition =” ... ”> ... </ ExecutablePath>” im Element “<PropertyGroup>” in der Datei NameOfYourSolution.vcxproj im Editor, bevor VC2013 ausgeführt wird
Lösung 2:
Kopieren Sie nur zwei Dateien: rc.exe und rcdll.dll von "c: \ Programme (x86) \ Windows Kits \ 8.1 \ bin \ x86 \" zu "c: \ Programme (x86) \ Microsoft Visual Studio 12.0 \ VC \ bin \" und die Kompilierung erfolgt erfolgreich!!
Hinweis:
a) Es ist nicht erforderlich, PATH oder andere Windows- oder VC-Umgebungsvariablen zu berühren.
b) "Platform Toolset" (Projekteigenschaftsseiten -> Konfigurationseigenschaften -> Allgemein) wird automatisch auf "Visual Studio 2013 (v120)" gesetzt (nicht in "Visual Studio 2010" geändert, um Ihr Projekt weiterentwickeln zu können unter VC2013-Konzepten)
quelle
In meinem Fall war der Fehler auf eine schlechte Einstellung in einem vcxproj zurückzuführen. Das vcxproj war von einem Dritten, daher bin ich mir nicht sicher, wie es in diesen Zustand gekommen ist.
Insbesondere für eine der Plattform- / Profilkombinationen fehlte der Plattformordner im Windows SDK-Bin-Ordner:
ist richtig, wo
war falsch. Möglicherweise müssen Sie bis zum Ende der Codefelder scrollen, um den Unterschied zu erkennen.
Beachten Sie auch, dass aus irgendeinem seltsamen Grund $ (WindowsSdkDir) bin \ x64; hat bei mir NICHT funktioniert. Ich habe versucht herauszufinden, warum, wenn rc.exe definitiv in diesem Ordner vorhanden ist, aber ich habe aufgegeben.
Meiner Meinung nach sind die Lösungen früherer Poster, bei denen rc.exe überall kopiert wird, falsch, da Ihr Projekt auf keinem anderen Computer funktioniert. Wenn Sie die Pfade im Projekt korrekt korrigieren, sollte es auf jedem Computer mit einer korrekten Installation des Windows SDK funktionieren.
quelle
Ich bin unter Windows 10 x64 und Visual Studio 2017. Ich habe rc.exe und rcdll.dll kopiert und eingefügt von:
zu
es funktioniert mit: (qt creator 5.7.1)
quelle
Dies könnte etwas veraltet sein. Wenn das Kopieren von rc.exe und exdll.dll jedoch nicht funktioniert hat, besteht die Möglichkeit, dass Windows SDK nicht ordnungsgemäß installiert wird, selbst wenn der Ordner Windows SDK vorhanden ist. Sie können das SDK für Win 8 auf der folgenden Seite aktualisieren: http://msdn.microsoft.com/en-US/windows/hardware/hh852363 Nach der Neuinstallation des SDK wird das Problem behoben. Stellen Sie außerdem sicher, dass das Plattform-Toolset richtig eingestellt ist.
quelle
Ich bin kürzlich auf dieses Problem gestoßen. Ich habe sowohl VS 2015 als auch VS 2017 installiert, Windows Kits 8.1 und 10 installiert.
Die Eingabeaufforderung von VS 2017 funktioniert wie erwartet, rc.exe ist sichtbar. In VS 2015 ist dies nicht wahr. Tatsächlich fügt das Skript vcvarsall.bat aus VS 2015 einen Pfad zum Windows 10-Kit zur PATH-Variablen hinzu, fügt jedoch einen leicht falschen Pfad hinzu. Es fügt Pfad zu hinzu
während der eigentliche Weg ist
Es scheint, dass das Aktualisieren des Windows 10-Kits (oder das Installieren von VS 2017) zu diesem Problem geführt hat.
Die Lösung ist also einfach: Erstellen Sie einfach symbolische Links im Ordner "C: \ Programme (x86) \ Windows Kits \ 10 \ bin", die auf die entsprechenden Ordner im zugrunde liegenden Ordner verweisen, z. B. einen symbolischen Link "x86" für den Ordner "10.0" .17763.0 \ x86 "," x64 "für" 10.0.17763.0 \ x64 "usw.
quelle
Ich hatte das gleiche Problem auf VS 2013 und konnte es durch Ändern des beheben
Platform Toolset
.Sie finden es in den Projekteinstellungen allgemein.
Platform Toolset
Wenn Sie beispielsweise zu VS 2010 wechseln , verwendet VS das Windows \ v7.0A SDK.Sie können überprüfen, welcher SDK-Pfad verwendet wird, indem Sie diesen zu Ihrem Prebuild-Ereignis hinzufügen:
quelle
Ich verwende Windows 7 mit VS 2013 (Update 3) und Intel Parallel Studio XE Composer Edition für Fortran Windows (Update 5). Nach dem Auspacken hatte ich das gleiche Problem.
Nachdem ich das fehlende rc.exe-Problem behoben hatte, hatte ich ein anderes Problem. Dem Linker fehlte kernel32.lib.
Ich habe beide Probleme behoben, indem ich die Intel Composer-Optionen aktualisiert habe (TOOLS-> Options ...-> Intel Composer XE-> Visual Fortran-> Compiler).
Für die Registerkarte Win32 habe ich hinzugefügt:
Ausführbare Dateien : C: \ Programme (x86) \ Windows Kits \ 8.0 \ bin \ x86; (kurz vor $ (PATH))
Bibliotheken: C: \ Programme (x86) \ Windows Kits \ 8.0 \ Lib \ win8 \ um \ x86; (Am Ende)
Für die Registerkarte x64 habe ich hinzugefügt:
Ausführbare Dateien : C: \ Programme (x86) \ Windows Kits \ 8.0 \ bin \ x64; (kurz vor $ (PATH))
Bibliotheken: C: \ Programme (x86) \ Windows Kits \ 8.0 \ Lib \ win8 \ um \ x64; (Am Ende)
Aktualisieren...
Mir fehlten auch einige SDK-Header-Dateien (winver.h und winapifamily.h). Ich habe dem gleichen Bereich WERKZEUGE-> Optionen ... Folgendes hinzugefügt.
Für die Registerkarten win32 und x64
Enthält: C: \ Programme (x86) \ Windows Kits \ 8.0 \ Include \ um; C: \ Programme (x86) \ Windows Kits \ 8.0 \ Include \ shared;
quelle
Ich habe gerade herausgefunden, dass eines (von insgesamt 3) Projekten in meiner VS2010 (SDK7.1) -Lösung (Projekte sind in einer sequentiellen linearen Abhängigkeitskette verknüpft) eine RC-Datei in den Projektdateien hatte, die leer war. Durch Entfernen der leeren RC-Datei (aus dem Projekt, ohne sie zu löschen) wurde das Problem "Schwerwiegender Fehler LNK1158: ... cvtres.exe" behoben.
Update: Die folgende Kopie hat das Problem behoben:
Dadurch kann WinSDK7.1 über MSBuild .rc-Dateien in die ausführbaren Dateien kompilieren.
quelle
Dies ist noch einfacher als mit Visual Studio 2017. Befolgen Sie diese Anweisungen: https://docs.microsoft.com/en-us/visualstudio/install/modify-visual-studio, um Änderungen mit Microsoft Visual Studio Installer vorzunehmen.
Klicken Sie im Microsoft Visual Studio-Installationsprogramm unter Ihrem installierten Visual Studio-Paket auf Ändern, stellen Sie sicher, dass die Desktop-Entwicklung mit C ++ aktiviert ist und die MFC- und ATl-Unterstützung (x86 und x64) zusammengefasst ist.
quelle
Dies kann durch ein vcxproj verursacht werden, das aus früheren Versionen von Visual Studio stammt, ODER durch Ändern des Platform Toolset unter Konfigurationseigenschaften -> Allgemein.
Wenn ja, mögliche Lösung:
1) Gehen Sie zu Konfigurationseigenschaften -> VC ++ - Verzeichnisse
2) Wählen Sie Dropdown für ausführbare Verzeichnisse
3) Wählen Sie "Von übergeordneten oder Projektstandards erben".
quelle
Fügen Sie Ihrem Umgebungsvariablenfenster den Pfad SDK 8.1 hinzu
Öffnen Sie dann die Eingabeaufforderung von Visual Studio x64 Native Tools und geben Sie ein
quelle
Wenn Sie das SDK Windows 10 wirklich mit Visual Studio 2015 verwenden müssen, müssen Sie eine ältere Version auf sdk-archive herunterladen . Die neuere Version des SDK hat den Speicherort der ausführbaren RC-Datei geändert, und MSBuild von Visual Studio 2015 Update 3 (neueste Version) kann sie nicht finden. Zumindest die Version 10.0.14393.795 des SDK Windows ist weiterhin mit Visual Studio 2015 kompatibel.
quelle
Möglicherweise wurde die Projektdatei von VS2017 berührt. Wenn Sie dann das Projekt im Jahr 2015 verknüpfen, kann "LINK: Schwerwiegender Fehler LNK1158: 'rc.exe' kann nicht ausgeführt werden" den Build bremsen.
Versuchen Sie in vcxproj:
1) ersetzen:
<WindowsTargetPlatformVersion>10.0.17763.0</WindowsTargetPlatformVersion>
mit:<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
2) entfernen:
<VCProjectVersion>15.0</VCProjectVersion>
3) ersetzen:
<PlatformToolset>v141</PlatformToolset>
durch:<PlatformToolset>v140</PlatformToolset>
quelle
rc.exe
Beim Versuch,pip install
innerhalb einerbash
Aufgabe in einer Azure DevOps-Pipeline auszuführen , die ich zum Erstellen eines Python-Pakets aus dem Quellcode mit C ++ - Erweiterungen verwendet habe, wurde der Verbindungsfehler des OP angezeigt. Ich konnte es beheben, indem ich den Pfadrc.exe
innerhalb derbash
Aufgabe kurz vor dem Aufruf hinzufügtepip install
, wie folgt :Das war in einem Azure
job
, dasvmImage: 'windows-2019'
für seinen Agenten verwendet wurde. dh Windows Server 2019 mit Visual Studio 2019.quelle
Ich konnte es auch in Windows so für mich arbeiten lassen
Sie können Ihre Umgebungsvariable einfach mit festlegen
quelle
In meinem Fall habe ich das Windows SDK 10586 über Visual Studio 2015 installiert -> Ändern , dann werden die folgenden Pfade installiert.
quelle
Für Visual Studio Community 2019 hat das Kopieren der Dateien in den obigen Antworten (
rc.exe rcdll.dll
)C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.21.27702\bin\Hostx86\x86
den Trick für mich getan.quelle
Ich bin auf Windows 10 Pro x64, VS 19 ..
Beim Versuch, mod_wsgi für Apache in cmd zu installieren.
Dies ist der Fehler, den ich an meiner Eingabeaufforderung erhalten habe.
Ich musste rc.exe & rcdll.dll von kopieren
und füge es hinzu
Ergebnis von cmd
Hoffe das hilft jemandem.
quelle