Program Visual Studio nie może kompilować z powodu rc.exe

128

Szukałem w Internecie i nie mogłem znaleźć niczego, co przypominałoby mój problem.

Utworzyłem pusty projekt w C ++ i dodałem plik main.cpp ze zwrotem i nie mogę go zbudować. Oto wiadomość, którą otrzymuję:

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 ==========

Czy jest gdzieś w VS2012, gdzie mogę określić, gdzie znaleźć ten plik wykonywalny? Zainstalowałem Windows 7 SDK i mam ten plik wykonywalny pod adresem:

C:\Program Files\Microsoft SDKs\Windows\v7.0\Bin

Pochodzę z Code :: Blocks i używam mingw-gcc bez żadnych problemów, ale ostatnio potrzebowałem VS do zarządzanych wdrożeń, więc mam nadzieję, że ktoś ma pomysł.

Patrick.SE
źródło
Do Twojej wiadomości - uszkodzony również w Visual Studio 2013 Professional :(
gbjbaanb
ale wygląda na to, że problemem jest ścieżka do katalogu Windows SDK (lub Windows Kits, jakkolwiek nazywają je w tym tygodniu). Zmienna $ (WindowsSdkDir) nie jest ustawiona na katalog WindowsKits, jest zamiast tego ustawiana na katalog WindowsSDK, który ma „minimalną” zawartość.
gbjbaanb
3
Dobre rozwiązanie dla podobnych problemów z VS2015, spowodowanych przez VS2017: stackoverflow.com/a/45319119/508431
Isaiah Norton
1
koniecznie przeczytaj TEN KRYTYCZNĄ QA stackoverflow.com/questions/43847542
Fattie

Odpowiedzi:

242

Znalazłem to w Google ... Zakładam, że w twoim przypadku skopiowałbyś rc.exei rcdll.dlldo visual studio 2012\vc\binlub gdziekolwiek masz to zainstalowane:

Część 2: FIX LINK: fatal error LNK1158: cannot run ‘rc.exe’

Dodaj to do zmiennych środowiskowych PATH:

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

Skopiuj te pliki:

rc.exe
rcdll.dll

Z

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

Do

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

Albo też znalazłem to:
Microsoft zostawił kilka rzeczy z pakietu MSVT. Ponieważ nikt nie wie, czy zostały pominięte przez pomyłkę, czy z powodów licencyjnych, nikt z MSVC nie jest zbyt zainteresowany ich rozdaniem. Kilka wyszukiwań w Google prowadzi do podejrzanych źródeł. Na szczęście Microsoft w końcu przemyślał i rozwiązał ten problem i wiele innych.

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

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

Istnieje duża liczba brakujących plików MSVT, ale brakujące pliki SDK nie.

i tak:
miałem ten sam problem, który rozwiązałem, robiąc to:

  1. Instalowanie Microsoft .Net Framework 2.0
  2. Dodanie ścieżki plików .NET Framework (dla mnie „C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727”) do Globalnych ustawień kompilatora> Programy> Dodatkowe ścieżki w Code :: Blocks.

Teraz mogę bez błędów tworzyć i łączyć pliki zasobów.

Kat Cox
źródło
6
Dzięki, był to prosty sposób kopiowania plików wykonywalnych rc z bin SDK do bin VS.
Patrick SE
Cóż, większość tej odpowiedzi to cytaty ... więc tylko dla wyjaśnienia „Miałem ten sam problem, który rozwiązałem, robiąc to:” to nie ja, ale coś, co znalazłem, opublikowane
Kat Cox
1
Pytanie: dlaczego używasz plików x86 rc.exe i rcdll.dll zamiast wersji x64?
Carl
1
Cóż, właśnie skopiowałem i wkleiłem odpowiedzi, które znalazłem ... ale używałbyś x86 w instalacji 32-bitowej (którą możesz mieć nawet w systemie 64-bitowym) i używałbyś x64 w instalacji 64-bitowej ... zgadnij zależy od wersji pliku, którą według niego powinieneś mieć
Kat Cox
2
Jestem w C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\x86_amd64i uruchomiłem polecenia: copy "C:\Program Files (x86)\Windows Kits\10\bin\10.0.16299.0\x64\rc.exe"i copy "C:\Program Files (x86)\Windows Kits\10\bin\10.0.16299.0\x64\rcdll.dll"naprawić to w Visual Studio 2015
Jari Turkia
61

Napotkaliśmy ten problem w naszych kompilacjach CMake / Visual Studio 2015 po zainstalowaniu VS2017 na komputerze. Prawidłowym rozwiązaniem w naszym przypadku jest określenie wersji Window Kit (8.1) w wierszu polecenia programu Visual Studio - w przeciwnym razie domyślnie otrzymasz zestaw Windows 10 Kit, który nie zawiera rc.exe w katalogu bin.

np. Menu Start-> Visual Studio 2015-> Wiersz polecenia narzędzi natywnych VS2015 x64

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

Zwróć uwagę na opcję 8.1 na końcu

MattAU
źródło
5
Przypuszczam, że jest to właściwy sposób rozwiązania tego problemu.
jagttt
2
Chociaż jestem w tej samej sytuacji (Win10 z zainstalowanymi VS2015 i VS2017), to nie zadziałało. Jedyną rzeczą, która mi to naprawiła, było ręczne dodanie „C: \ Program Files (x86) \ Microsoft SDKs \ Windows \ v7.1A \ Bin” (ostatnia wersja SDK zawierająca rc.exe) do PATH!
Scylardor,
@Scylardor - ścieżka, której użyłeś, była dla zestawu SDK 7.1. Czy masz zainstalowany zestaw SDK 8.1 w folderze C: \ Program Files (x86) \ Microsoft SDKs \ Windows? W twoim przypadku może być możliwe użycie tego samego polecenia z wersją 7.1 na końcu lub alternatywnie może być konieczne zainstalowanie zestawu SDK 8.1.
MattAU
Stworzyłem plik wsadowy za pomocą call C:\\(....)\vcvarsall.bat" amd64 8.1i start cmake-gui, działa jak urok
Marius
Dzięki, miałem dokładnie taką samą konfigurację (VS side-by-side) i jest to znacznie czystsze niż kopiowanie plików!
E. Moffat,
32

Z tego, co znalazłem, jeśli masz system operacyjny Windows 7, wykonanie następujących kroków rozwiąże problem:

1) przejdź do C: \ Program Files (x86) \ Microsoft SDKs \ Windows \ v7.1A \ Bin

2) następnie skopiuj RC.exe i RcDll z tego pliku

3) przejdź do C: \ Program Files (x86) \ Microsoft Visual Studio 12.0 \ VC \ bin i wklej do niego dwa pliki, które skopiowałeś.

Miałem ten sam problem, a powyższe rozwiązanie nie działało. Moje rozwiązanie zostało wyprowadzone z tego i zadziałało dla mnie, jeśli powyższe nie działają, możesz spróbować tego.

Tony
źródło
4
Co zaskakujące, to też zadziałało, kopiując z wersji 7.1A \ Bin do Microsoft Visual Studio 14.0 \ VC \ bin
escapecharacter
To nie zadziałało na Windows Server 2012 z VS 2017 zainstalowanym razem z VS 2015.
iLikeDirt
18

Ten rc.exebłąd może wystąpić, jeśli kompilator Visual C ++ i wersje zestawu SDK systemu Windows 10 nie odpowiadają temu samemu rokowi programu Visual Studio. Ogólnie rzecz biorąc, rozwiązaniem jest upewnienie się, że masz w swoim systemie i używasz w kompilacji, VC ++ i Windows SDK przez rok używanego studia Visual Studio.

Na przykład, jeśli masz program Visual Studio 2017 lub 2019 i zainstalowałeś Build Tools 2015 bez wybrania instalacji własnego zestawu SDK systemu Windows 2015 (domyślna instalacja go nie instaluje!) I próbujesz użyć go do kompilacji, możesz napotkać ten problem.

W moim przypadku miałem już Visual Studio 2017. Kiedy próbowałem użyć Build Tools 2015 do skompilowania biblioteki Pythona (lub prawdopodobnie dowolnego programu), wystąpił ten sam błąd „rc.exe”. Wyczytałem, że kompilator VS2015 14.0 C ++ może ulec awarii, jeśli spróbuje użyć zestawu SDK systemu Windows 10 z programu Visual Studio 2017.

Odinstalowałem tworzenie narzędzi, 2015, i ponownie zainstalować go, tym razem jako niestandardowej instalacji, wybierając do zainstalowania zarówno Visual C ++ i Windows 10 komponentów SDK. To rozwiązało problem.

AKTUALIZACJA: Właśnie ponownie spojrzałem na Build Tools 2015 i najwyraźniej nie ma już niestandardowej opcji instalacji. Jeśli tak, instalacja programu Visual Studio 2015 ze składnikami C ++ i Windows SDK powinna również działać.

OrangeSherbet
źródło
2
Dziękuję bardzo, to jest rzeczywiście właściwe rozwiązanie. Uwaga: próbowałem dodać SDK za pomocą polecenia „Modyfikuj” instalatora, ale utknął. Musiałem zrestartować, odinstalować, a następnie zainstalować od zera.
Violet Giraffe
Czy ktoś mógłby pomóc wyjaśnić, co oznacza „... ponownie go zainstalowałem [Build Tools 2015], tym razem w ramach instalacji niestandardowej, wybierając instalację zarówno wizualnych C ++, jak i składników zestawu Windows 10 SDK”. Zainstalowany skąd? Jako samodzielny produkt firmy Microsoft?
estebro
@estebro Jeśli przejdziesz do Google „Build Tools 2015” i klikniesz pierwszy link, zostaniesz przeniesiony na stronę pobierania tego samodzielnego pakietu firmy Microsoft. Pobierz i zainstaluj pakiet, jednak NIE zezwalaj na domyślną instalację pakietu, jeśli masz problem z plikiem rc.exe. ZAMIAST wybierz instalację niestandardową i upewnij się, że włączono instalację zestawu Windows SDK (nie jest to ustawienie domyślne).
OrangeSherbet,
1
To jest prawdziwa, poprawna koncepcyjnie odpowiedź. Wszystkie inne to hacki, które mogą nie działać; żaden z nich nie zrobił dla mnie.
iLikeDirt
1
TO OMFG! Dziękuję za jasne wyjaśnienie. Natknąłem się dokładnie na ten sam problem i ludzie obwiniający instalację byli takim czerwonym śledziem. Zainstalowałem ponownie pięć razy, aby zobaczyć ten sam wynik.
Ananth
11

W moim przypadku wystąpił błąd mieszania i dopasowywania między projektami utworzonymi w VS2015 i VS2017. W moim pliku .vcxproj znajduje się sekcja o nazwie PropertyGroup Label = "Globals">. Miałem sekcję dla TargetPlatformVersion = 10.0.15063.0. Kiedy usunąłem TargetPlatformVersion, rozwiązało to problem.

Przepraszamy, nie mogę tutaj skopiować i wkleić bloku, ale format kodowania stackoverflows na to nie pozwalał.

Todd Rupper
źródło
To naprawione. Dzięki.
Mój 1
7

Jestem na Windows 7 x64 i Visual Studio 2017 . Ten błąd pojawia się podczas próby skompilowania skryptu cython. Oto jak rozwiązałem: skopiowałem i wkleiłem rc.exe i rcdll.dll z:

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

do

C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\x86_amd64
alfredopacino
źródło
3
Te instrukcje dotyczą wersji 32-bitowej. Dla 64-bitowej, spróbuj C:\Program Files (x86)\Windows Kits\8.1\bin\x64się C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64.
Contango,
Dla nas z Cythonem to zadziałało: skopiowaliśmy program C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x64do, C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\x86_amd64aby naprawić program Visual Studio nie może zbudować z powodu błędu rc.exe
Brandon W. King
4

Oto mój prawie podobny przypadek:
mam działający projekt VC2010 pod Win7 32bit. Wykonuję czystą instalację VC2013 pod Win8.1 64bit Po udanej konwersji mojego projektu z VC2010 do VC2013, podczas pierwszej kompilacji pojawił się następujący błąd:
Zakończono generowanie kodu
LINK: błąd krytyczny LNK1158: nie można uruchomić 'rc.exe'

Rozwiązanie 1:
Usuń cała linia „<ExecutablePath Condition =” ... ”> ... </ExecutablePath>” w elemencie „<PropertyGroup>” w pliku NameOfYourSolution.vcxproj w notatniku przed uruchomieniem VC2013
Rozwiązanie 2:
Skopiuj tylko dwa pliki: rc.exe i rcdll.dll z „c: \ Program Files (x86) \ Windows Kits \ 8.1 \ bin \ x86 \” do „c: \ Program Files (x86) \ Microsoft Visual Studio 12.0 \ VC \ bin \”, a kompilacja zostanie odnoszący sukcesy!!
Uwaga:
a) Nie trzeba dotykać żadnej PATH ani innych zmiennych środowiskowych Windows lub VC.
b) „Zestaw narzędzi platformy” (Strony właściwości projektu -> Właściwości konfiguracji -> Ogólne) zostanie automatycznie ustawiony na „Visual Studio 2013 (v120)” (nie zmieniaj go na „Visual Studio 2010”, aby móc dalej rozwijać swój projekt zgodnie z koncepcjami VC2013)

Anioł T.
źródło
4

W moim przypadku błąd był spowodowany złym ustawieniem w vcxproj. Vcxproj pochodzi od strony trzeciej, więc nie jestem pewien, jak doszło do tego stanu.

W szczególności w przypadku jednego z kombinacji platforma / profil brakowało folderu platformy w folderze bin Windows SDK:

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

jest poprawne, gdzie

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

był nieprawidłowy. Może zajść potrzeba przewinięcia do końca pól kodu, aby zobaczyć różnicę.

Zauważ również, że z jakiegoś dziwnego powodu $ (WindowsSdkDir) bin \ x64; NIE działa dla mnie. Próbowałem dowiedzieć się, dlaczego, skoro rc.exe na pewno istnieje w tym folderze, ale się poddałem.

Moim zdaniem rozwiązania z poprzednich plakatów, polegające na kopiowaniu rc.exe w każdym miejscu, są błędne, ponieważ Twój projekt nie zadziała na niczyjej maszynie. Jeśli poprawisz ścieżki w projekcie poprawnie, powinien on działać na każdym komputerze z poprawną instalacją Windows SDK.

Steve
źródło
4

Korzystam z systemu Windows 10 x64 i Visual Studio 2017. Skopiowałem i wkleiłem pliki rc.exe i rcdll.dll z:

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

do

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

to działa z: (qt creator 5.7.1)

dront
źródło
3

To może być trochę nieaktualne. Ale jeśli kopiowanie rc.exe i exdll.dll nie zadziałało, istnieje szansa, że ​​zestaw Windows SDK nie został poprawnie zainstalowany, nawet jeśli istnieje folder Windows SDK. Możesz zaktualizować zestaw SDK dla systemu Windows 8 na następującej stronie: http://msdn.microsoft.com/en-US/windows/hardware/hh852363 Po ponownym zainstalowaniu zestawu SDK problem zostałby rozwiązany. Upewnij się również, że zestaw narzędzi platformy jest prawidłowo ustawiony.

pszczoła
źródło
3

Niedawno napotkałem ten problem. Mam zainstalowane zarówno VS 2015, jak i VS 2017, zainstalowane są zestawy Windows 8.1 i 10.

Wiersz polecenia z VS 2017 działa zgodnie z oczekiwaniami, widoczny jest plik rc.exe. W VS 2015 to nieprawda. W rzeczywistości skrypt vcvarsall.bat z VS 2015 dodaje ścieżkę do zestawu Windows 10 do zmiennej PATH, ale dodaje nieco złą ścieżkę. Dodaje ścieżkę do

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

podczas gdy rzeczywista ścieżka jest

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

Wygląda na to, że aktualizacja zestawu Windows 10 (lub instalacja VS 2017) doprowadziła do tego problemu.

Rozwiązanie jest więc proste: po prostu utwórz dowiązania symboliczne w folderze „C: \ Program Files (x86) \ Windows Kits \ 10 \ bin”, wskazując na odpowiednie foldery w folderze podstawowym, np. Dowiązanie symboliczne „x86” do folderu „10.0” .17763.0 \ x86 ”,„ x64 ”dla„ 10.0.17763.0 \ x64 ”itp.

Artem Chirkov
źródło
2

Miałem ten sam problem w VS 2013 i udało mi się go naprawić, zmieniając plik Platform Toolset.

Możesz go znaleźć w ustawieniach projektu, ogólnie.

Np. Przełączenie Platform Toolsetna VS 2010 spowoduje, że VS użyje zestawu Windows \ v7.0A SDK.

Możesz sprawdzić, która ścieżka SDK jest używana, dodając to do zdarzenia prebuild:

echo using SDK $(WindowsSdkDir)
laktak
źródło
ale nadal oznacza to, że VS2013 w ogóle nie obsługuje aplikacji MFC. Zauważ, że plik rc.exe znajduje się w katalogu „Windows Kits”, a nie w katalogach SDK. Bezużyteczny.
gbjbaanb
2

Używam Windows 7 z VS 2013 (aktualizacja 3) i Intel Parallel Studio XE Composer Edition dla Fortran Windows (aktualizacja 5). Po wyjęciu z pudełka miałem ten sam problem.

Kiedy naprawiłem problem z brakującym rc.exe, miałem inny problem. W konsolidatorze brakowało pliku kernel32.lib.

Poprawiłem oba problemy, aktualizując opcje Intel Composer (NARZĘDZIA-> Opcje ...-> Intel Composer XE-> Visual Fortran-> Kompilatory).

Dla zakładki Win32 dodałem:

Pliki wykonywalne: C: \ Program Files (x86) \ Windows Kits \ 8.0 \ bin \ x86; (tuż przed $ (PATH))

Biblioteki: C: \ Program Files (x86) \ Windows Kits \ 8.0 \ Lib \ win8 \ um \ x86; (na końcu)

Dla zakładki x64 dodałem:

Pliki wykonywalne: C: \ Program Files (x86) \ Windows Kits \ 8.0 \ bin \ x64; (tuż przed $ (PATH))

Biblioteki: C: \ Program Files (x86) \ Windows Kits \ 8.0 \ Lib \ win8 \ um \ x64; (na końcu)

Aktualizacja...

Brakowało mi również niektórych plików nagłówkowych SDK (winver.h i winapifamily.h). Dodałem następujące elementy do tego samego obszaru NARZĘDZIA-> Opcje ...

Zarówno dla kart win32, jak i x64

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

Jeremy Whitcher
źródło
2

Właśnie odkryłem, że jeden (z 3 w sumie) projektów w moim rozwiązaniu VS2010 (SDK7.1) (projekty są połączone w sekwencyjny liniowy łańcuch zależności), miał plik .rc w plikach projektu, który był pusty. Usunięcie pustego pliku .rc (z projektu, bez usuwania go) rozwiązało problem „błąd krytyczny LNK1158: ... cvtres.exe”.

Aktualizacja: Następująca kopia rozwiązała problem:

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

Umożliwi to WinSDK7.1, za pośrednictwem programu MSBuild, możliwość kompilowania plików .rc do plików wykonywalnych.

Sterge
źródło
BTW, następująca kopia rozwiązała problem: 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 \ "Umożliwi to WinSDK7.1, poprzez MSBuild, możliwość kompilowania plików .rc do plików wykonywalnych.
Sterge
2

Jest to jeszcze łatwiejsze niż w przypadku programu Visual Studio 2017. Postępuj zgodnie z następującymi instrukcjami: https://docs.microsoft.com/en-us/visualstudio/install/modify-visual-studio, aby zmodyfikować za pomocą Instalatora Microsoft Visual Studio.

Po wejściu do Instalatora Microsoft Visual Studio kliknij modyfikuj pod zainstalowanym pakietem Visual Studio, upewnij się, że programowanie pulpitu w C ++ jest zaznaczone, a obsługa MFC i ATl (x86 i x64) w podsumowaniu.

Bluto
źródło
1

Może to być spowodowane przez vcxproj, który powstał w poprzednich wersjach programu Visual Studio LUB zmieniając zestaw narzędzi platformy we Właściwościach konfiguracji -> Ogólne.

Jeśli tak, możliwe rozwiązanie:

1) Przejdź do Właściwości konfiguracji -> Katalogi VC ++

2) Wybierz listę rozwijaną dla Katalogów wykonywalnych

3) Wybierz „Dziedzicz z nadrzędnych lub domyślnych ustawień projektu”

Gunnar
źródło
1

Dodaj do swojej zmiennej środowiskowej ścieżkę sdk 8.1 okna

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

następnie otwórz wiersz poleceń Visual studio x64 Native tools i wprowadź

vcvarsall.bat

Chan
źródło
1

Jeśli naprawdę potrzebujesz SDK Windows 10 z Visual Studio 2015, musisz pobrać starszą wersję na sdk-archive . Nowsza wersja zestawu SDK zmieniła miejsce pliku wykonywalnego rc i MSBuild of Visual Studio 2015 Update 3 (najnowsza wersja) nie może go zlokalizować. Co najmniej wersja 10.0.14393.795 zestawu SDK dla systemu Windows jest nadal zgodna z programem Visual Studio 2015.

Xavier Bigand
źródło
To może być rzeczywiste wyjaśnienie tego irytującego problemu. Oto kolejna niedawna
kontrola
1

Może plik projektu został dotknięty przez VS2017. Następnie po połączeniu projektu w 2015 r. „LINK: błąd krytyczny LNK1158: nie można uruchomić 'rc.exe'” może spowodować zahamowanie kompilacji.

W vcxproj spróbuj:

1) wymienić:

<WindowsTargetPlatformVersion>10.0.17763.0</WindowsTargetPlatformVersion> z: <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>

2) usuń: <VCProjectVersion>15.0</VCProjectVersion>

3) wymienić: na <PlatformToolset>v141</PlatformToolset> : <PlatformToolset>v140</PlatformToolset>

user1439579
źródło
1

Otrzymałem błąd łącza OP dotyczący rc.exepodczas próby wykonania pip installwewnątrz bashzadania w ramach potoku Azure DevOps, którego użyłem do zbudowania pakietu Python ze źródła z rozszerzeniami C ++. Udało mi się to rozwiązać, dodając ścieżkę do rc.exewewnątrz bashzadania tuż przed wywołaniem pip install, na przykład:

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

To było wewnątrz platformy Azure, jobktóra była używana vmImage: 'windows-2019'przez swojego agenta; tj. Windows Server 2019 z Visual Studio 2019.

warknąć
źródło
1

Udało mi się sprawić, że zadziała u mnie również w ten sposób w oknach

  1. Ustaw zmienną środowiskową tak, aby wskazywała lokalizację twojego rc.exe, zakładając, że używasz wersji x86

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

Możesz łatwo ustawić zmienną środowiskową za pomocą

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

  1. Zrestartuj swojego Qt Creator
  2. Oczyść i odbuduj
Dextera
źródło
0

W moim przypadku zainstalowałem Windows SDK 10586 przez Visual Studio 2015 -> Modyfikuj , a następnie instalowane są następujące ścieżki.

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

Felix Xu
źródło
0

W przypadku programu Visual Studio Community 2019 skopiowanie plików w powyższych odpowiedziach ( rc.exe rcdll.dll) C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.21.27702\bin\Hostx86\x86załatwiło sprawę.

Rahul Kumar
źródło
0

Korzystam z systemu Windows 10 Pro x64, VS 19 ..

Podczas próby zainstalowania mod_wsgi dla Apache w cmd.

C:\>python -m pip install mod_wsgi

To jest błąd, który otrzymałem z mojego wiersza poleceń.

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

Musiałem skopiować rc.exe i rcdll.dll z

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

i dodaj do

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

wynik z 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

Mam nadzieję, że to komuś pomoże.

dynastoned
źródło