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ł.
visual-studio-2012
Patrick.SE
źródło
źródło
Odpowiedzi:
Znalazłem to w Google ... Zakładam, że w twoim przypadku skopiowałbyś
rc.exe
ircdll.dll
dovisual studio 2012\vc\bin
lub gdziekolwiek masz to zainstalowane:Część 2: FIX LINK:
fatal error LNK1158: cannot run ‘rc.exe’
Dodaj to do zmiennych środowiskowych PATH:
Skopiuj te pliki:
Z
Do
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:
Teraz mogę bez błędów tworzyć i łączyć pliki zasobów.
źródło
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\x86_amd64
i uruchomiłem polecenia:copy "C:\Program Files (x86)\Windows Kits\10\bin\10.0.16299.0\x64\rc.exe"
icopy "C:\Program Files (x86)\Windows Kits\10\bin\10.0.16299.0\x64\rcdll.dll"
naprawić to w Visual Studio 2015Napotkaliś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
Zwróć uwagę na opcję 8.1 na końcu
źródło
call C:\\(....)\vcvarsall.bat" amd64 8.1
istart cmake-gui
, działa jak urokZ 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.
źródło
Ten
rc.exe
błą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ć.
źródło
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ł.
źródło
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:
do
źródło
C:\Program Files (x86)\Windows Kits\8.1\bin\x64
sięC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64
.C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x64
do,C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\x86_amd64
aby naprawić program Visual Studio nie może zbudować z powodu błędu rc.exeOto 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)
źródło
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:
jest poprawne, gdzie
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.
źródło
Korzystam z systemu Windows 10 x64 i Visual Studio 2017. Skopiowałem i wkleiłem pliki rc.exe i rcdll.dll z:
do
to działa z: (qt creator 5.7.1)
źródło
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.
źródło
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
podczas gdy rzeczywista ścieżka jest
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.
źródło
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 Toolset
na 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:
źródło
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;
źródło
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:
Umożliwi to WinSDK7.1, za pośrednictwem programu MSBuild, możliwość kompilowania plików .rc do plików wykonywalnych.
źródło
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.
źródło
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”
źródło
Dodaj do swojej zmiennej środowiskowej ścieżkę sdk 8.1 okna
następnie otwórz wiersz poleceń Visual studio x64 Native tools i wprowadź
źródło
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.
źródło
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>
źródło
Otrzymałem błąd łącza OP dotyczący
rc.exe
podczas próby wykonaniapip install
wewnątrzbash
zadania 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ę dorc.exe
wewnątrzbash
zadania tuż przed wywołaniempip install
, na przykład:To było wewnątrz platformy Azure,
job
która była używanavmImage: 'windows-2019'
przez swojego agenta; tj. Windows Server 2019 z Visual Studio 2019.źródło
Udało mi się sprawić, że zadziała u mnie również w ten sposób w oknach
Możesz łatwo ustawić zmienną środowiskową za pomocą
źródło
W moim przypadku zainstalowałem Windows SDK 10586 przez Visual Studio 2015 -> Modyfikuj , a następnie instalowane są następujące ścieżki.
źródło
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\x86
załatwiło sprawę.źródło
Korzystam z systemu Windows 10 Pro x64, VS 19 ..
Podczas próby zainstalowania mod_wsgi dla Apache w cmd.
To jest błąd, który otrzymałem z mojego wiersza poleceń.
Musiałem skopiować rc.exe i rcdll.dll z
i dodaj do
wynik z cmd
Mam nadzieję, że to komuś pomoże.
źródło