Visual Studio kann aufgrund von rc.exe nicht erstellt werden


128

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.



Es sieht jedoch so aus, als ob das Problem der Pfad zum Windows SDK-Verzeichnis (oder zu den Windows Kits, wie auch immer sie diese Woche heißen) ist. Die Variable $ (WindowsSdkDir) ist nicht auf das WindowsKits-Verzeichnis festgelegt, sondern auf das WindowsSDK-Verzeichnis, das nur minimale Inhalte enthält.
Gbjbaanb

3
Gute Lösung für ähnliche VS2015-Probleme, verursacht durch VS2017: stackoverflow.com/a/45319119/508431
Isaiah Norton

1
werden, um zu lesen , diese kritische QA stackoverflow.com/questions/43847542
Fattie

Antworten:


242

Gefunden bei Google ... Ich würde davon ausgehen, dass Sie in Ihrem Fall kopieren rc.exeund rcdll.dllan visual studio 2012\vc\binoder 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:

C: \ Programme (x86) \ Windows Kits \ 8.0 \ bin \ x86

Kopieren Sie diese Dateien:

rc.exe
rcdll.dll

Von

C: \ Programme (x86) \ Windows Kits \ 8.0 \ bin \ x86

Zu

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

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:

  1. Installieren von Microsoft .Net Framework 2.0
  2. Hinzufügen des Pfads der .NET Framework-Dateien (für mich "C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727") zu den Einstellungen des globalen Compilers> Programme> Zusätzliche Pfade in Code :: Blocks.

Jetzt kann ich Ressourcendateien fehlerfrei erstellen und verknüpfen.


6
Vielen Dank, es war eine einfache Möglichkeit, die ausführbaren RC-Dateien aus dem SDK-Bin in den VS-Bin zu kopieren.
Patrick.SE

Nun, der größte Teil dieser Antwort bestand aus Zitaten ... nur um zu verdeutlichen, dass "ich das gleiche Problem hatte, das ich damit gelöst habe:", bin nicht ich, sondern etwas, das ich gefunden habe
Kat Cox

1
Frage: Warum verwenden Sie die Dateien x86 rc.exe und rcdll.dll anstelle der x64-Versionen?
Carl

1
Nun, ich habe nur die Antworten kopiert und eingefügt, die ich gefunden habe ... aber Sie würden das x86 bei einer 32-Bit-Installation verwenden (die Sie möglicherweise sogar auf einem 64-Bit-System haben) und Sie würden das x64 bei einer 64-Bit-Installation verwenden ... raten Sie mal hängt davon ab, welche Version der Datei Sie haben sollen
Kat Cox

2
Ich bin bei C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\x86_amd64und führte Befehle aus: copy "C:\Program Files (x86)\Windows Kits\10\bin\10.0.16299.0\x64\rc.exe"und copy "C:\Program Files (x86)\Windows Kits\10\bin\10.0.16299.0\x64\rcdll.dll"um dies in Visual Studio 2015 zu beheben
Jari Turkia

61

Wir 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

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

Beachten Sie die Option 8.1 am Ende


5
Ich nehme an, dies ist der richtige Weg, um dieses Problem zu lösen.
Jagttt

2
Obwohl ich in der gleichen Situation bin (Win10 mit VS2015 UND VS2017 ebenfalls installiert), hat es bei mir nicht funktioniert. Das einzige, was es für mich behoben hat, war das manuelle Hinzufügen von "C: \ Programme (x86) \ Microsoft SDKs \ Windows \ v7.1A \ Bin" (die letzte SDK-Version, die rc.exe enthält) zum PATH!
Scylardor

@Scylardor - Der von Ihnen verwendete Pfad war für das 7.1 SDK. Haben Sie das 8.1 SDK unter C: \ Programme (x86) \ Microsoft SDKs \ Windows installiert? In Ihrem Fall kann es möglich sein, denselben Befehl mit 7.1 am Ende zu verwenden, oder Sie müssen möglicherweise das 8.1 SDK installieren.
MattAU

Ich habe eine Batch-Datei mit call C:\\(....)\vcvarsall.bat" amd64 8.1und erstellt start cmake-gui, funktioniert wie ein Zauber
Marius

Vielen Dank, hatte genau das gleiche Setup (Side-by-Side-VS) und das ist viel sauberer als das Kopieren von Dateien!
E. Moffat

32

Wenn 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.


4
Verwirrenderweise funktionierte dies auch für mich, als ich von v7.1A \ Bin nach Microsoft Visual Studio 14.0 \ VC \ bin
kopierte

Dies funktionierte nicht für mich auf Windows Server 2012 mit VS 2017 neben VS 2015.
iLikeDirt

18

Dieser rc.exeFehler 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.


2
Vielen Dank, dies ist in der Tat die richtige Lösung. Hinweis: Ich habe versucht, das SDK über den Befehl "Ändern" des Installationsprogramms hinzuzufügen, aber es blieb hängen. Musste neu starten, deinstallieren und dann von Grund auf neu installieren.
Violette Giraffe

Könnte jemand helfen zu klären, was unter "... Neuinstallation [Build Tools 2015], diesmal als benutzerdefinierte Installation, mit der Installation von Visual C ++ - und Windows 10 SDK-Komponenten" zu verstehen war. Von wo aus installiert? Als Standalone von Microsoft?
Estebro

@estebro Wenn Sie "Build Tools 2015" googeln und auf den ersten Link klicken, werden Sie zur Microsoft-Downloadseite für dieses eigenständige Paket weitergeleitet. Laden Sie das Paket herunter und installieren Sie es. Lassen Sie es jedoch NICHT standardmäßig installieren, wenn Sie das Problem rc.exe haben. Wählen Sie STATT eine benutzerdefinierte Installation aus und stellen Sie sicher, dass die Installation des Windows SDK aktiviert ist (nicht die Standardeinstellung).
OrangeSherbet

1
Dies ist die wahre, konzeptionell korrekte Antwort. Alle anderen sind Hacks, die möglicherweise nicht funktionieren. keiner von ihnen hat für mich getan.
iLikeDirt

1
DIESES OMFG! Vielen Dank für die klare Erklärung. Ich hatte genau das gleiche Problem und die Leute, die die Installation beschuldigten, waren so ein roter Hering. Ich habe fünf Mal neu installiert, um das gleiche Ergebnis zu sehen.
Ananth

11

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.


Dies wurde behoben. Vielen Dank.
My1

7

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:

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

zu

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

3
Diese Anweisungen gelten für 32-Bit. Für 64-Bit, versuchen C:\Program Files (x86)\Windows Kits\8.1\bin\x64zu C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64.
Contango

Für uns mit Cython hat dies funktioniert: Wir haben das kopiert, C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x64um C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\x86_amd64zu beheben, dass Visual Studio aufgrund eines rc.exe-Fehlers nicht erstellt werden kann
Brandon W. King vor

4

Hier 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)


4

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:

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

ist richtig, wo

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

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.


4

Ich bin unter Windows 10 x64 und Visual Studio 2017. Ich habe rc.exe und rcdll.dll kopiert und eingefügt von:

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

zu

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

es funktioniert mit: (qt creator 5.7.1)


3

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.


3

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

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

während der eigentliche Weg ist

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

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.


2

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 ToolsetWenn 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:

echo using SDK $(WindowsSdkDir)

Dies bedeutet jedoch, dass der VS2013 MFC-Apps überhaupt nicht unterstützt. Beachten Sie, dass sich die Datei rc.exe im Verzeichnis "Windows Kits" und nicht mehr in den SDK-Verzeichnissen befindet. Nutzlos.
Gbjbaanb

2

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;


2

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:

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\"

Dadurch kann WinSDK7.1 über MSBuild .rc-Dateien in die ausführbaren Dateien kompilieren.


Übrigens hat die folgende Kopie das Problem behoben: xcopy "C: \ Programme (x86) \ Microsoft Visual Studio 10.0 \ VC \ bin \ cvtres.exe" "C: \ Programme (x86) \ Microsoft Visual Studio 10.0 \ VC \ bin \ x86_amd64 \ "Dadurch kann WinSDK7.1 über MSBuild .rc-Dateien in die ausführbaren Dateien kompilieren.
Sterge

2

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.


1

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".


1

Fügen Sie Ihrem Umgebungsvariablenfenster den Pfad SDK 8.1 hinzu

C: \ Programme (x86) \ Windows Kits \ 8.1 \ bin \ x64

Öffnen Sie dann die Eingabeaufforderung von Visual Studio x64 Native Tools und geben Sie ein

vcvarsall.bat


1

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.


Dies könnte die eigentliche Erklärung für dieses ärgerliche Problem sein. Hier ist noch eine weitere aktuelle Qualitätssicherung zu diesem Thema, für alle, die hier googeln ........ stackoverflow.com/a/53804573/294884
Fattie

1

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>


1

rc.exeBeim Versuch, pip installinnerhalb einer bashAufgabe 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 Pfad rc.exeinnerhalb der bashAufgabe kurz vor dem Aufruf hinzufügte pip install, wie folgt :

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

Das war in einem Azure job, das vmImage: 'windows-2019'für seinen Agenten verwendet wurde. dh Windows Server 2019 mit Visual Studio 2019.


1

Ich konnte es auch in Windows so für mich arbeiten lassen

  1. Stellen Sie Ihre Umgebungsvariable so ein, dass sie auf den Speicherort Ihrer rc.exe verweist, vorausgesetzt, Sie verwenden die x86-Version

C: \ Programme (x86) \ Windows Kits \ 10 \ bin \ 10.0.18362.0 \ x86

Sie können Ihre Umgebungsvariable einfach mit festlegen

C:> setx path "% path%; C: \ Programme (x86) \ Windows Kits \ 10 \ bin \ 10.0.18362.0 \ x86"

  1. Starten Sie Ihren Qt Creator neu
  2. Reinigen und neu aufbauen

0

In meinem Fall habe ich das Windows SDK 10586 über Visual Studio 2015 installiert -> Ändern , dann werden die folgenden Pfade installiert.

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

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

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


0

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\x86den Trick für mich getan.


0

Ich bin auf Windows 10 Pro x64, VS 19 ..

Beim Versuch, mod_wsgi für Apache in cmd zu installieren.

C:\>python -m pip install mod_wsgi

Dies ist der Fehler, den ich an meiner Eingabeaufforderung erhalten habe.

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

Ich musste rc.exe & rcdll.dll von kopieren

C: \ Programme (x86) \ Windows Kits \ 10 \ bin \ 10.0.18362.0 \ x86

und füge es hinzu

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

Ergebnis von 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

Hoffe das hilft jemandem.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.