Depois de instalar o Visual Studio 2015 e executar o CMake em um projeto anterior, erros do CMake informando que não foi possível encontrar o compilador C.
The C compiler identification is unknown
The CXX compiler identification is unknown
CMake Error at CMakeLists.txt:4 (PROJECT):
No CMAKE_C_COMPILER could be found.
CMake Error at CMakeLists.txt:4 (PROJECT):
No CMAKE_CXX_COMPILER could be found.
Fui pesquisar cl.exe
na pasta Visual Studio,, C:\Program Files\Microsoft Visual Studio 14.0
e não consegui encontrar.
Como faço para configurar o CMake para funcionar no Windows com o Visual Studio 2015?
c++
cmake
visual-studio-2015
Asher
fonte
fonte
PATH
para encontrar o programa de que precisa, então, se não estiver atualizado, não poderá encontrar o compilador.Respostas:
Eu encontrei a solução. Embora o IDE do Visual Studio tenha sido instalado com êxito, ele não instalou nenhuma ferramenta de compilação e, portanto, não instalou o compilador C ++.
Ao tentar criar manualmente um projeto C ++ na GUI do Visual Studio 2015, fui capaz de solicitar que ele baixasse os pacotes C ++. O CMake foi então capaz de encontrar o compilador sem qualquer dificuldade.
fonte
Aqui está a solução que funcionou para mim:
Esperançosamente, deve funcionar sem problemas.
fonte
cmake ..
partir daí. De qualquer forma, votado positivamente, porque o terminal git-bash, por exemplo, não coloca tudo automaticamente em seu caminho. Isso me ajudou!Eu olhei no arquivo CMakeError.log e encontrei um erro sobre
cannot run 'rc.exe'
Eu pesquisei e encontrei esta resposta para copiar RC.Exe e RcDll.Dll do bin SDKs da Microsoft para o bin VC, e então CMake funcionou.
Edit: A resposta principal para outra pergunta sugere que é um problema de PATH, portanto, pode ser o suficiente para garantir que o compartimento do Microsoft SDK esteja em seu PATH.
fonte
Certifique-se de estar usando a versão correta do Visual Studio no gerador. Eu tinha selecionado incorretamente o Visual Studio 15 quando o Visual Studio 14 foi instalado.
fonte
Aqueles que tropeçam com isso no Visual Studio 2017: há um recurso relacionado ao CMake que precisa ser selecionado e instalado junto com os conjuntos de ferramentas do compilador relevantes. Veja a imagem abaixo.
fonte
Se nenhuma das soluções acima funcionar, pare e faça uma verificação de integridade.
Eu me queimei usando a
-G <config>
corda errada e isso me deu este erro enganoso.Primeiro, execute o prompt de comando do VS, não o prompt de comando regular. Você pode encontrá-lo em
Start Menu -> Visual Studio 2015 -> MSBuild Command Prompt for VS2015
Isto configura todos os caminhos corretos para ferramentas VS, etc.Agora veja quais geradores estão disponíveis no cmake ...
cmake -help
...<snip>... The following generators are available on this platform: Visual Studio 15 [arch] = Generates Visual Studio 15 project files. Optional [arch] can be "Win64" or "ARM". Visual Studio 14 2015 [arch] = Generates Visual Studio 2015 project files. Optional [arch] can be "Win64" or "ARM". Visual Studio 12 2013 [arch] = Generates Visual Studio 2013 project files. Optional [arch] can be "Win64" or "ARM". Visual Studio 11 2012 [arch] = Generates Visual Studio 2012 project files. Optional [arch] can be "Win64" or "ARM". Visual Studio 10 2010 [arch] = Generates Visual Studio 2010 project files. Optional [arch] can be "Win64" or "IA64". ...
Em seguida, escolha a string apropriada com o [arco] adicionado.
mkdir _build cd _build cmake .. -G "Visual Studio 15 Win64"
Executar cmake em um subdiretório torna mais fácil fazer uma 'limpeza', pois você pode simplesmente deletar tudo naquele diretório.
Eu atualizei para o Visual Studio 15, mas não estava prestando atenção e estava tentando gerar para 2012.
fonte
Para mim, verifiquei o
CMakeError.log
arquivo e encontrei:Isso apesar de usar o Visual Studio 2017 no Windows 7. Portanto, parece que o CMake está tentando construir seu projeto de detecção com o SDK do Windows 8.1.
Usei o instalador do Visual Studio para adicionar esse componente e agora o CMake está feliz como um molusco.
fonte
Menu → Visual Studio 2015 → Prompt de comando do MSBuild para Visual Studio 2015. O CMake pode encontrar
cl.exe
.Altere o caminho superior para onde o Windows SDK está instalado.
CMake pode encontrar
rc.exe
.cd para o caminho de
CMakeLists.txt
e faça:O parâmetro após
-G
deve ser buscado pelo CMake. Use--help
; você pode ou não ter o gerador.fonte
Encontrei o mesmo problema e corrigi-lo reiniciando a instalação do Visual Studio e marcando a seguinte opção:
Windows and Web Development
/Universal Windows App Development Tools
/Windows 10 SDK
Ele contém os cabeçalhos C ++ padrão usados na maioria dos aplicativos e, portanto, geralmente é necessário instalá-lo também.
fonte
Tive esse problema no Windows 10 ao usar o Visual Studio 2015 Professional, enquanto o Visual Studio 2015 Express funcionava! No Windows 7, as duas versões do Visual Studio costumavam funcionar.
Novos projetos criados a partir do Visual Studio 2015 Professional IDE são compilados com êxito, mas o CMake não consegue encontrar o relatório do compilador:
Eu atualizei o CMake de 3.4.1 para 3.11.4 e agora o problema desapareceu.
fonte
Se você estiver no Visual Studio 2017, você precisa de pelo menos CMake 3.8!
fonte
Tive um problema semelhante com o projeto Visual Studio 2017 gerado por meio do CMake. Alguns dos pacotes estavam faltando durante a instalação do Visual Studio no desenvolvimento de Desktop com C ++. Veja o instantâneo:
Pacotes do Visual Studio 2017:
Além disso, atualize o CMake para a versão mais recente.
fonte
No meu caso, havia um conjunto de variáveis de ambiente que causou esse erro. O problema foi resolvido após a exclusão de cxx_flags das variáveis de ambiente.
fonte
Tive esse problema com o CMake 3.12.1, após uma atualização do Visual Studio 2017. Simplesmente executei novamente o CMake e funcionou.
fonte
No meu caso, pude ver no
CMakeError.log
que o CMake não conseguiu encontrar o SDK do Windows (MSB8003: Could not find WindowsSDKDir variable from the registry
).A versão pode ser especificada na linha de comando na primeira execução do CMake usando:
Fui mais longe depois de definir isso, mas encontrei mais problemas depois (portanto, presumo que meu ambiente está bagunçado de alguma forma), mas talvez isso ajude alguém com esse problema.
fonte
Algumas dicas:
Meu problema era uma combinação do que foi dito anteriormente: configurei a versão do compilador para 15 em vez de 14 e, quando corrigido, tive que deletar o cache.
Também iniciei o prompt de comando do Visual Studio como administrador e a partir daí executei o cmake-gui.exe
Então, tudo funcionou como deveria.
fonte
No meu caso, o problema era que o projeto pai, que inclui googletest via
foi definido como
De alguma forma, o CMake não reconhece
uma vez que o compilador C não está definido no pai.
Resolvi o problema usando
no meu
CMakeLists.txt
arquivo principal .fonte
Esta pode ser outra solução para aqueles com a última versão do criador do Windows 10:
Stack Overflow pós- erro fatal LNK1104: não é possível abrir o arquivo 'gdi32.lib'
fonte
Nenhuma das soluções anteriores funcionou para mim. No entanto, percebi que, embora tenha instalado o Visual Studio versão 15 (não confundir com o Visual Studio 2015), o diretório criado em meu computador era para o Visual Studio 14.
Quando especifiquei o Visual Studio 14 ao pressionar o botão de configuração, ele funcionou.
fonte
Encontrei esta solução no stackoverflow e trabalho para mim, embora não funcione com outras soluções se você tiver um sistema operacional Windows 10, seguir os seguintes passos resolverá o problema:
1) vá para C: \ Arquivos de programas (x86) \ Microsoft SDKs \ Windows \ v7.1A \ Bin
2) em seguida, copie RC.exe e RcDll deste arquivo
3) vá para C: \ Arquivos de programas (x86) \ Microsoft Visual Studio 14.0 \ VC \ bin e cole os dois arquivos que você copiou nele.
isso é tudo que eu espero que seja útil ...
fonte
Procure no Cmakelists.txt se você encontrar o ARM, você precisa instalar o C ++ para ARM e também vcvarsall.bat usar para a pasta bin ARM.
São estes pacotes:
Plataforma C ++ Universal do Windows para ARM64 "Não Obrigatório"
Compiladores e bibliotecas do Visual C ++ para ARM "Não obrigatório"
Compiladores e bibliotecas do Visual C ++ para ARM64 "Muito provavelmente necessária"
Então, os problemas podem desaparecer:
Nenhum CMAKE_C_COMPILER foi encontrado.
Nenhum CMAKE_CXX_COMPILER foi encontrado.
Se acima não resolver seu problema?
Opcionalmente, você pode remover as opções C e CXX em cmakelists.txt definindo # na frente de onde está enable_language (C). E evite a compilação do processador ARM do Android.
fonte
Resolvido ao adicionar o componente ausente Modificar-> continuar adicionar como segue
fonte
Tive um problema relacionado: os geradores do Visual C ++ nem estavam na lista durante a execução
cmake --help
.Corri
where cmake
no console e descobri que o cygwin também fornece seu próprio arquivo cmake.exe , que estava sendo usado. Alterar a ordem dos diretórios no PATH corrigiu o problema.fonte
A verificação de CMakeErrors.log em CMakeFiles retornou:
O erro significa que as ferramentas de compilação para XP (v140_xp) não estão instaladas. Para corrigi-lo, instalei o recurso adequado no instalador do Visual Studio 2019 na guia Componentes individuais:
fonte
Tive esse problema com o CMake GUI e o VS 21019 Community Edition. Acho que posso ter instalado o CMake antes do Visual Studio - certamente depois de atualizar o CMake 3.15.2 para 3.15.3 o problema foi embora.
fonte
Verifique se o nome da pasta é muito longo ou não.
fonte
Porque CMake não é capaz de encontrar seu compilador Visual Studio. Inicie qualquer projeto que baixe os compiladores necessários e o CMake deve ser capaz de encontrá-lo.
fonte