Partilhar via


Suporte a Clang/LLVM em projetos do Visual Studio

O suporte a Clang/LLVM para projetos CMake e MSBuild está disponível no Visual Studio 2019 e no Visual Studio 2022.

Você pode usar o Visual Studio 2019 versão 16.2 e posterior com o Clang/LLVM para editar, compilar e depurar projetos do Visual Studio C++ (MSBuild) direcionados ao Windows ou Linux.

Instalar

Para obter o melhor suporte ao IDE no Visual Studio, recomendamos usar as ferramentas mais recentes do compilador Clang para Windows. Se você ainda não tiver essas ferramentas, poderá instalá-las abrindo o Instalador do Visual Studio e escolhendo o Ferramentas do Clang C++ para Windows em componentes opcionais Desenvolvimento da área de trabalho com C++. Talvez você prefira usar uma instalação do Clang existente em seu computador; nesse caso, escolha C++ Clang-cl para ferramentas de compilação v142 ou C++ Clang-cl para ferramentas de compilação v143.

Instalar

Para obter o melhor suporte ao IDE no Visual Studio, recomendamos usar as ferramentas mais recentes do compilador Clang para Windows. Se você ainda não tiver essas ferramentas, poderá instalá-las abrindo o Instalador do Visual Studio e escolhendo o Ferramentas do Clang C++ para Windows em componentes opcionais Desenvolvimento da área de trabalho com C++. Talvez você prefira usar uma instalação do Clang existente em seu computador; nesse caso, escolha o suporte do MSBuild para o conjunto de ferramentas LLVM (clang-cl).

A Biblioteca Padrão do Microsoft C++ exige pelo menos o Clang 8.0.0.

Captura de tela do instalador do Visual Studio 2019

A guia Componentes individuais está selecionada no instalador. O compilador do C++ Clang para Windows está selecionado. O C++ Clang-cl para ferramentas de compilação v142 (x64/x86) também está selecionado.

Captura de tela do instalador do Visual Studio 2022.

A guia Componentes individuais está selecionada no instalador. O compilador do C++ Clang para Windows está selecionado. O suporte do MSBuild para o conjunto de ferramentas LLVM (clang-cl) também está selecionado.

Versões posteriores do Visual Studio fornecem versões mais recentes do conjunto de ferramentas do Clang. A versão empacotada do Clang é atualizada automaticamente para você se manter em dia com as atualizações na implementação da Biblioteca Padrão pela Microsoft. Por exemplo, o Visual Studio 2019 versão 16.11 inclui o Clang v12.

Configurar um projeto do Windows para usar ferramentas do Clang

Para configurar um projeto do Visual Studio para usar o Clang, clique com o botão direito do mouse no nó do projeto em Gerenciador de Soluções e escolha Propriedades. Normalmente, primeiro você deve escolher Todas as configurações na parte superior da caixa de diálogo. Depois, em Geral>Conjunto de Ferramentas da Plataforma, escolha LLVM (clang-cl) e depois OK.

Captura de tela da caixa de diálogo Páginas de Propriedades do projeto do Visual Studio.

A página de propriedades do projeto está aberta na página Propriedades de Configuração > Geral. A lista suspensa Conjunto de Ferramentas da Plataforma está selecionado, na qual LLVM (clang-cl) está selecionada.

Se você estiver usando as ferramentas do Clang que são incluídas com o Visual Studio, nenhuma etapa adicional será necessária. Para projetos do Windows, o Visual Studio invoca o Clang por padrão no modo clang-cl. Ele vincula à implementação da Biblioteca Padrão pela Microsoft. Por padrão, clang-cl.exe está localizado em *%VCINSTALLDIR%\Tools\Llvm\bin\* e *%VCINSTALLDIR%\Tools\Llvm\x64\bin\*.

Se você estiver usando uma instalação personalizada do Clang, poderá alterar o valor da propriedade LLVMInstallDir. Para obter mais informações, confira Definir uma versão personalizada do conjunto de ferramentas LLVM.

Configurar um projeto do Linux para usar ferramentas do Clang

Para projetos do Linux, o Visual Studio usa o front-end compatível com Clang GCC. As propriedades do projeto e quase todos os sinalizadores do compilador são idênticos

Para configurar um projeto do Linux do Visual Studio para usar o Clang:

  1. Clique com o botão direito do mouse no nó do projeto no Gerenciador de Soluções e selecione Propriedades.
  2. Normalmente, primeiro você deve escolher Todas as configurações na parte superior da caixa de diálogo.
  3. Em Geral>Conjunto de Ferramentas de Plataforma, escolha Clang para Subsistema do Windows para Linux se você estiver usando o WSL (Subsistema do Windows para Linux). Escolha Clang para Linux Remoto se você estiver usando um computador remoto ou uma VM.
  4. Pressione OK.

Captura de tela da caixa de diálogo Páginas de Propriedades do projeto do Visual Studio 2019

A página de propriedades do projeto está aberta na página Propriedades de Configuração > Geral. O Conjunto de Ferramentas da Plataforma está selecionado e, na lista de opções, LLVM (clang- c l) está selecionado."

No Linux, o Visual Studio, por padrão, usa o primeiro local de Clang encontrado na propriedade de ambiente PATH. Se você estiver usando uma instalação Clang personalizada, altere o valor da propriedade LLVMInstallDir ou insira o caminho em Projeto>Propriedades>Propriedades de Configuração>Diretórios do VC++>Diretórios Executáveis. Para obter mais informações, confira Definir uma versão personalizada do conjunto de ferramentas LLVM.

Defina um local e um conjunto de ferramentas LLVM personalizados

Para definir um caminho personalizado para o LLVM e definir uma versão personalizada do conjunto de ferramentas LLVM para um ou mais projetos, crie um arquivo Directory.build.props. Em seguida, adicione esse arquivo à pasta raiz de qualquer projeto. Você pode adicioná-lo à pasta raiz da solução para aplicá-lo a todos os projetos na solução. O arquivo deve se parecer com este exemplo (mas use seu caminho LLVM real e o número da versão):

<Project>
  <PropertyGroup>
    <LLVMInstallDir>C:\MyLLVMRootDir</LLVMInstallDir>
    <LLVMToolsVersion>15.0.0</LLVMToolsVersion>
  </PropertyGroup>
</Project>

Definir uma versão personalizada do conjunto de ferramentas LLVM no IDE

A partir do Visual Studio 2019 versão 16.9, você pode definir uma versão personalizada do conjunto de ferramentas para LLVM no Visual Studio. Para definir essa propriedade em um projeto:

  1. Abra a caixa de diálogo Páginas de Propriedades do projeto. Para obter mais informações, confira Definir compilador C++ e propriedades de compilação.

  2. Selecione a página de propriedades Propriedades da Configuração>Geral.

  3. Modifique a propriedade Conjunto de Ferramentas da Plataforma para LLVM (clang-cl) se ela ainda não estiver definida. Clique em Aplicar para salvar suas alterações.

  4. Selecione a página de propriedades Propriedades de Configuração>Avançadas.

  5. Modifique a propriedade Versão do Conjunto de Ferramentas para LLVM para sua versão preferida e escolha OK para salvar suas alterações.

A propriedade Versão do Conjunto de Ferramentas para LLVM aparece somente quando o conjunto de ferramentas da plataforma LLVM é selecionado.

Ao adicionar um arquivo Directory.build.props a um projeto ou solução, as configurações aparecerão como padrão na caixa de diálogo Páginas de Propriedades do projeto. No entanto, as alterações nessas propriedades no Visual Studio substituem as configurações no arquivo Directory.build.props.

Definir propriedades, editar, compilar e depurar

Depois de realizar uma configuração do Clang, clique com o botão direito do mouse novamente no nó do projeto e escolha Recarregar projeto. Agora você pode compilar e depurar o projeto usando as ferramentas do Clang. O Visual Studio detecta que você está usando o compilador Clang e fornece IntelliSense, realce, navegação e outros recursos de edição. Erros e avisos são exibidos na Janela de Saída. As páginas de propriedades do projeto para uma configuração Clang são semelhantes às do MSVC. No entanto, alguns recursos dependentes do compilador, como Editar e Continuar, não estão disponíveis para configurações do Clang. Você pode definir uma opção de compilador ou vinculador do Clang que não está disponível nas páginas de propriedades. Adicione-a manualmente nas páginas de propriedades em Propriedades de Configuração>C/C++ (ou Vinculador)>Linha de Comando>Opções Adicionais.

Ao depurar, você pode usar pontos de interrupção, visualização de memória e dados e a maioria dos outros recursos de depuração.

Captura de tela do Visual Studio depurando um aplicativo de exemplo

A parte do aplicativo que está visível cria um vetor de cadeia de caracteres e adiciona algumas cadeias de caracteres a ele. A execução foi interrompida em um ponto de interrupção para o código: v.push_back("Clang/LLVM");."