webentwicklung-frage-antwort-db.com.de

LNK1158 kann rc.exe x64 Visual Studio nicht ausführen

Ich versuche, ein einfaches Programm in Visual Studio für eine 64-Bit-Plattform zu kompilieren. Beim Versuch, zu kompilieren, erhalte ich die Fehlermeldung: LINK: schwerwiegender Fehler LNK1158: 'rc.exe' kann nicht ausgeführt werden

Ich war bei many discussion Threads, in denen angezeigt wird, dass Sie rc.exe und rcdll.dll aus dem Windows Kits-Ordner in den VC/bin-Ordner kopieren. Ich habe das erfolglos gemacht. Es scheint mir, dass meine Version von Visual Studio möglicherweise nicht in dem Verzeichnis sucht, in dem ich denke, dass es diese rc.exe-Datei sucht. Gibt es eine Möglichkeit, w/in Visual Studio zu ermitteln, in welchem ​​Verzeichnis diese ausführbare Datei gesucht wird?

(Es wurde vorgeschlagen, dass dieses Problem möglicherweise ein Duplikat der Frage und Antwort ist, die unter Mit VC++/VS2010 als Targeting auf x64 nicht kompiliert werden kann: LNK1158: cvtres.exe kann nicht ausgeführt werden. Dies scheint jedoch nicht der Fall zu sein Dort wurde der Pfad durch einige NV-Dienste beschädigt, die auf dem System ausgeführt wurden. Ich habe dieses Problem nicht, da sich mein vollständiger Pfad ergibt, wenn ich Echo% PATH% eingebe. Das heißt, dieser Link führte mich zum richtige Lösung, siehe unten)

8
gboy

Der Fehler war in der Tat, wo ich die Dateien rc.exe und rcdll.dll platzierte. Da ich auf einer 64-Bit-Plattform kompiliere, verwendet Visual Studio den 64-Bit-Cross-Compiler, der nicht im $ (VSInstallDir)\VC\bin, aber im $ (VSInstallDir)\VC\bin\x86_AMD64-Ordner.

Daher bestand die Lösung für mein Problem darin, die Dateien rc.exe und rcdll.dll aus dem Ordner C:\Programme (x86)\Windows Kits\8.1\bin\x86 in den Ordner $ (VSInstallDir)\VC\bin\x86_AMD64 zu kopieren .

Dadurch wurde der erste Fehler überwunden. 

Beim Erstellen erschien jedoch ein neuer Fehler: LNK1158: 'cvtres.exe' kann nicht ausgeführt werden. Im Gegensatz zu meinem ersten rc.exe-Fehler befindet sich diese Datei tatsächlich bereits im Ordner $ (VSInstallDir)\VC\bin. Das Problem ist, dass der Cross-Compiler es in seinem eigenen Verzeichnis sucht. Also habe ich diese Datei gerade aus dem Ordner $ (VSInstallDir)\VC\bin in den Ordner $ (VSInstallDir)\VC\bin\x86_AMD64 kopiert.

Nachdem ich das getan hatte, wurde mein Projekt aufgebaut und lief weiter.

19
gboy

dieser Fehler ist beim Kompilieren eines Python-Codes in VS2015-Fenstern 10 aufgetreten, die auf anaconda3 kopiert wurden.

rc.exe 

rcdll.dll

von 

C:\Programme (x86)\Windows Kits\10\bin\10.0.17134.0\x64

und in den Installationsordner von Visual Studio eingefügt

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

der Code wurde erfolgreich generiert.

1
Khan