Pesquisei on-line e não consegui encontrar nada parecido com o meu problema.
Criei um projeto C ++ vazio e adicionei um main.cpp com um retorno e não consigo compilar. Aqui está a mensagem que recebo:
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 ==========
Existe algum lugar no VS2012 onde eu possa especificar onde encontrar esse executável? Eu instalei o Windows 7 SDK e tenho este executável em:
C:\Program Files\Microsoft SDKs\Windows\v7.0\Bin
Eu venho do Code :: Blocks e usando o mingw-gcc sem nenhum problema, mas ultimamente tenho precisado do VS para implementações gerenciadas, então espero que alguém tenha uma idéia.
visual-studio-2012
Patrick.SE
fonte
fonte
Respostas:
Encontrei isso no Google ... Suponho que, no seu caso, você copie
rc.exe
ercdll.dll
paravisual studio 2012\vc\bin
ou onde quer que esteja instalado:Parte 2: FIX LINK:
fatal error LNK1158: cannot run ‘rc.exe’
Adicione isso às suas variáveis de ambiente PATH:
Copie estes arquivos:
De
Para
Ou também descobri o seguinte: a
Microsoft deixou algumas coisas fora do pacote MSVT. Como ninguém sabe se eles foram excluídos por engano ou por motivos de licença, ninguém na MSVC está muito interessado em distribuí-los. Algumas pesquisas no Google revelam algumas fontes complicadas. Felizmente, a Microsoft finalmente descobriu e resolveu esse problema e muito mais.
http://msdn.microsoft.com/vstudio/express/support/faq/default.aspx#pricing
http://msdn.microsoft.com/vstudio/express/support/install/
Uma boa quantidade de arquivos ausentes do MSVT está lá, mas os arquivos SDK ausentes não estão.
e isso:
eu tive o mesmo problema que resolvi fazendo isso:
Agora eu posso criar e vincular arquivos de recursos sem erros.
fonte
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\x86_amd64
e executei comandos:copy "C:\Program Files (x86)\Windows Kits\10\bin\10.0.16299.0\x64\rc.exe"
ecopy "C:\Program Files (x86)\Windows Kits\10\bin\10.0.16299.0\x64\rcdll.dll"
para corrigir isso no Visual Studio 2015Atingimos esse problema com nossas compilações do CMake / Visual Studio 2015 depois de instalar o VS2017 na máquina. A solução correta no nosso caso é especificar a versão do Windows Kit (8.1) no prompt de comando do Visual Studio - caso contrário, você obterá o Windows 10 Kit por padrão, que não inclui o rc.exe no diretório bin.
por exemplo, Menu Iniciar-> Visual Studio 2015-> Prompt de Comando das Ferramentas Nativas do VS2015 x64
Observe a opção 8.1 no final
fonte
call C:\\(....)\vcvarsall.bat" amd64 8.1
estart cmake-gui
, funciona como um encantoPelo que descobri, se você possui um sistema operacional Windows 7, as seguintes etapas corrigem o problema:
1) vá para C: \ Arquivos de programas (x86) \ Microsoft SDKs \ Windows \ v7.1A \ Bin
2) copie o RC.exe e o RcDll desse arquivo
3) vá para C: \ Arquivos de programas (x86) \ Microsoft Visual Studio 12.0 \ VC \ bin e cole os dois arquivos que você copiou para ele.
Eu tive o mesmo problema e a solução postada acima não funcionou. Minha solução foi derivada disso e funcionou para mim. Se os itens acima não funcionarem, você pode tentar este.
fonte
Este
rc.exe
erro pode ocorrer se o compilador do Visual C ++ e as versões do SDK do Windows 10 não corresponderem ao mesmo ano do Visual Studio. Em geral, a solução é garantir que você tenha no seu sistema e esteja usando na compilação, VC ++ e Windows SDK para o ano do visual studio que você está usando.Por exemplo, se você possui o Visual Studio 2017 ou 2019 e instalou o Build Tools 2015 sem optar por instalar o seu próprio SDK do Windows 2015 (a instalação padrão não o instala!) E está tentando usá-lo para compilar, você pode encontrar este problema.
No meu caso, eu já tinha o Visual Studio 2017. Quando tentei usar o Build Tools 2015 para compilar uma biblioteca python (ou provavelmente qualquer programa), ocorreu o mesmo erro 'rc.exe'. Li que o compilador VS2015 14.0 C ++ pode apresentar falhas se tentar usar o Windows 10 SDK do Visual Studio 2017.
Eu desinstalei Ferramentas de construção 2015, e reinstalado-lo, desta vez como um personalizado instalação, selecionando para instalar tanto visual C ++ e Windows 10 componentes do SDK. Isso corrigiu o problema.
ATUALIZAÇÃO: Acabei de analisar o Build Tools 2015 novamente e, aparentemente, não há mais opção de instalação personalizada. Nesse caso, a instalação do Visual Studio 2015 com componentes C ++ e Windows SDK também deve funcionar.
fonte
No meu caso, tive um erro de combinação e correspondência entre projetos criados no VS2015 e no VS2017. No meu arquivo .vcxproj, há esta seção chamada PropertyGroup Label = "Globals">. Eu tinha uma seção para TargetPlatformVersion = 10.0.15063.0. Quando removi o TargetPlatformVersion, isso resolveu o problema.
Desculpe, não posso copiar e colar o bloco aqui, mas o formato de codificação stackoverflows não permitiu isso.
fonte
Estou no Windows 7 x64 e no Visual Studio 2017 . Eu recebo esse erro ao tentar compilar um script cython. Foi assim que resolvi: copiei e colei o rc.exe e o rcdll.dll de:
para
fonte
C:\Program Files (x86)\Windows Kits\8.1\bin\x64
aC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64
.C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x64
paraC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\x86_amd64
corrigir o Visual Studio não pode construir devido a erro rc.exeAqui está o meu caso quase semelhante:
Eu tenho o projeto de trabalho VC2010 no Win7 32bit. Faço a instalação limpa do VC2013 no Win8.1 64bit Após a conversão bem-sucedida do meu projeto do VC2010 para o VC2013, durante a 1ª compilação, ocorre o seguinte erro:
Concluído o código de geração
LINK: erro fatal LNK1158: não é possível executar o 'rc.exe'
Solução 1:
Excluir linha inteira “<ExecutablePath Condition =” ... ”> ... </ExecutablePath>” no elemento “<PropertyGroup>” no arquivo NameOfYourSolution.vcxproj no bloco de notas antes de executar o VC2013
Solution 2:
Copie apenas dois arquivos: rc.exe e rcdll.dll de “c: \ Arquivos de Programas (x86) \ Windows Kits \ 8.1 \ bin \ x86 \” para “c: \ Arquivos de Programas (x86) \ Microsoft Visual Studio 12.0 \ VC \ bin \” e a compilação será bem sucedido!!
Nota:
a) Não é necessário tocar em nenhuma PATH ou outras variáveis de ambiente do Windows ou VC.
b) "Platform Toolset" (Páginas de propriedades do projeto -> Propriedades de configuração -> Geral) será definido automaticamente como "Visual Studio 2013 (v120)" (não altere para "Visual Studio 2010" para poder continuar desenvolvendo seu projeto sob conceitos VC2013)
fonte
No meu caso, o erro ocorreu devido a uma configuração incorreta em um vcxproj. O vcxproj era de terceiros, então não tenho certeza de como chegou nesse estado.
Especificamente, para um dos combos de plataforma / perfil, a pasta da plataforma estava ausente na pasta bin do Windows SDK:
está correto, onde
estava incorreto. Pode ser necessário rolar até o final das caixas de código para ver a diferença.
Observe também que, por algum motivo estranho, $ (WindowsSdkDir) bin \ x64; não funcionou para mim. Tentei descobrir por que, quando o rc.exe definitivamente existe nessa pasta, mas desisti.
Na minha opinião, as soluções de pôsteres anteriores que envolvem a cópia do rc.exe em todo o lugar estão erradas, porque seu projeto não funcionará na máquina de ninguém. Se você corrigir os caminhos no projeto corretamente, ele deverá funcionar em qualquer máquina com uma instalação correta do Windows SDK.
fonte
Estou no Windows 10 x64 e no Visual Studio 2017. Copiei e colei o rc.exe e o rcdll.dll de:
para
trabalha com: (qt creator 5.7.1)
fonte
Isso pode estar um pouco desatualizado. Mas se a cópia do rc.exe e do exdll.dll não funcionou, existe a chance de o sdk do Windows não estar instalado corretamente, mesmo que a pasta sdk do Windows exista. Você pode atualizar o sdk para win 8 na seguinte página: http://msdn.microsoft.com/en-US/windows/hardware/hh852363 Após reinstalar o sdk, o problema seria resolvido. Verifique também se o conjunto de ferramentas da plataforma está definido corretamente.
fonte
Encontrei esse problema recentemente. Eu tenho o VS 2015 e o VS 2017 instalados, Windows kits 8.1 e 10 instalados.
O prompt de comando do VS 2017 funciona conforme o esperado, o rc.exe está visível. No VS 2015, isso não é verdade. Na verdade, o script vcvarsall.bat do VS 2015 adiciona um caminho ao kit do Windows 10 para a variável PATH, mas adiciona um caminho ligeiramente errado. Adiciona caminho para
enquanto o caminho real é
Parece que a atualização do kit do Windows 10 (ou a instalação do VS 2017) levou a esse problema.
Portanto, a solução é simples: basta criar links simbólicos na pasta "C: \ Arquivos de Programas (x86) \ Windows Kits \ 10 \ bin" apontando para as pastas correspondentes na pasta subjacente, por exemplo, um link simbólico "x86" para a pasta "10.0 .17763.0 \ x86 "," x64 "para" 10.0.17763.0 \ x64 "etc.
fonte
Eu tive o mesmo problema no VS 2013 e foi capaz de corrigi-lo alterando o
Platform Toolset
.Você pode encontrá-lo nas configurações do projeto, em geral.
Por exemplo, mudar
Platform Toolset
para o VS 2010 fará com que o VS use o Windows \ v7.0A SDK.Você pode verificar qual caminho do SDK é usado adicionando isso ao seu evento de pré-construção:
fonte
Estou usando o Windows 7 com o VS 2013 (atualização 3) e o Intel Parallel Studio XE Composer Edition para Fortran Windows (atualização 5). Fora da caixa eu tive o mesmo problema.
Depois de corrigir o problema do rc.exe ausente, tive outro problema. O vinculador estava ausente no kernel32.lib.
Corrigi os dois problemas atualizando as Opções do Intel Composer (FERRAMENTAS-> Opções ...-> Intel Composer XE-> Visual Fortran-> Compiladores).
Para a guia Win32, adicionei:
Executáveis: C: \ Arquivos de Programas (x86) \ Kits do Windows \ 8.0 \ bin \ x86; (pouco antes de $ (PATH))
Bibliotecas: C: \ Arquivos de Programas (x86) \ Kits do Windows \ 8.0 \ Lib \ win8 \ um \ x86;(no fim)
Para a guia x64, adicionei:
Executáveis: C: \ Arquivos de Programas (x86) \ Windows Kits \ 8.0 \ bin \ x64; (pouco antes de $ (PATH))
Bibliotecas: C: \ Arquivos de Programas (x86) \ Kits do Windows \ 8.0 \ Lib \ win8 \ um \ x64;(no fim)
Atualizar...
Também estava faltando alguns arquivos de cabeçalho do SDK (winver.he winapifamily.h). Adicionei o seguinte à mesma área FERRAMENTAS-> Opções ...
Para as guias win32 e x64
Inclui: C: \ Arquivos de programas (x86) \ Windows Kits \ 8.0 \ Include \ um; C: \ Arquivos de programas (x86) \ Windows Kits \ 8.0 \ Include \ shared;
fonte
Acabei de descobrir um (dos 3 no total) projetos na minha solução VS2010 (SDK7.1) (os projetos estão vinculados em uma cadeia de dependência linear seqüencial), tinha um arquivo .rc nos arquivos do projeto que estavam vazios. A remoção do arquivo .rc vazio (do projeto, sem excluí-lo) resolveu o problema "erro fatal LNK1158: ... cvtres.exe".
Atualização: A seguinte cópia corrigiu o problema:
Isso permitirá que o WinSDK7.1, via MSBuild, consiga compilar arquivos .rc nos executáveis.
fonte
Isso é ainda mais fácil que o Visual Studio 2017. Siga estas instruções: https://docs.microsoft.com/en-us/visualstudio/install/modify-visual-studio para modificar usando o Microsoft Visual Studio Installer.
Uma vez dentro do Microsoft Visual Studio Installer, clique em modificar no pacote do Visual Studio instalado, verifique se o desenvolvimento da área de trabalho com C ++ está marcado e se há suporte para MFC e ATl (x86 e x64), em resumo.
fonte
Isso pode ser causado por um vcxproj que se originou nas versões anteriores do Visual Studio OU alterando o conjunto de ferramentas da plataforma em Propriedades da configuração -> Geral.
Em caso afirmativo, possível solução:
1) Vá para Propriedades de configuração -> Diretórios VC ++
2) Selecione o menu suspenso para Diretórios executáveis
3) Selecione "Herdar dos padrões pai ou do projeto"
fonte
Adicione ao caminho da janela variável do ambiente sdk 8.1
abra o prompt de comando das ferramentas nativas do Visual studio x64 e insira
fonte
Se você realmente precisar usar o SDK do Windows 10 com o Visual Studio 2015, precisará baixar uma versão mais antiga no sdk-archive . A versão mais recente do SDK mudou o local do executável rc e a atualização 3 do MSBuild of Visual Studio 2015 (versão mais recente) não pode localizá-lo. Pelo menos a versão 10.0.14393.795 do SDK Windows ainda é compatível com o Visual Studio 2015.
fonte
Talvez o arquivo do projeto tenha sido tocado pelo VS2017. Em seguida, quando você vincula o projeto em 2015, "LINK: erro fatal LNK1158: não é possível executar 'rc.exe'" pode travar a compilação.
No vcxproj tente:
1) substituir:
<WindowsTargetPlatformVersion>10.0.17763.0</WindowsTargetPlatformVersion>
com:<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
2) remova:
<VCProjectVersion>15.0</VCProjectVersion>
3) substitua:
<PlatformToolset>v141</PlatformToolset>
por:<PlatformToolset>v140</PlatformToolset>
fonte
Recebi o erro de link do OP
rc.exe
ao tentar executarpip install
dentro de umabash
tarefa em um pipeline do Azure DevOps que eu estava usando para criar um pacote Python a partir da fonte com extensões C ++. Consegui resolvê-lo adicionando o caminho pararc.exe
dentro dabash
tarefa antes de chamarpip install
, assim:Isso estava dentro de um Azure
job
que estava usandovmImage: 'windows-2019'
para seu agente; ou seja, Windows Server 2019 com Visual Studio 2019.fonte
Eu era capaz de fazê-lo funcionar para mim também desta maneira no Windows
Você pode definir facilmente sua variável de ambiente usando
fonte
No meu caso, instalei o Windows SDK 10586 via Visual Studio 2015 -> Modify , e os seguintes caminhos são instalados.
fonte
Para o Visual Studio Community 2019, copiar os arquivos nas respostas acima (
rc.exe rcdll.dll
) paraC:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.21.27702\bin\Hostx86\x86
fazer o truque para mim.fonte
Estou no Windows 10 Pro x64, VS 19 ..
Ao tentar instalar o mod_wsgi para o apache no cmd.
Este é o erro que eu estava recebendo no meu prompt de comando.
Eu tive que copiar rc.exe e rcdll.dll de
e adicione-o a
resultado do cmd
Espero que isso ajude alguém.
fonte