Projetos do C/C++ e sistemas de build no Visual Studio

Você pode usar o Visual Studio para editar, compilar e criar qualquer base de código do C++ com suporte total do IntelliSense sem precisar converter o código em um projeto do Visual Studio nem compilar com o conjunto de ferramentas do MSVC. Por exemplo, você pode editar um projeto multiplataforma do CMake no Visual Studio em um computador Windows e compilá-lo para Linux usando g++ em um computador Linux remoto.

Compilação do C++

A compilação de um programa do C++ significa compilar o código-fonte de um ou mais arquivos e vincular esses arquivos a um arquivo executável (.exe), uma biblioteca de carregamento dinâmico (.dll) ou uma biblioteca estática (.lib).

A compilação básica do C++ envolve três etapas principais:

  • O pré-processador do C++ transforma todas as definições de #directives e macros em cada arquivo de origem. Isso cria uma unidade de tradução.
  • O compilador do C++ compila cada unidade de tradução em arquivos de objeto (.obj), aplicando todas as opções do compilador que foram definidas.
  • O vinculador mescla os arquivos de objeto em um único executável, aplicando as opções do vinculador que foram definidas.

O conjunto de ferramentas do MSVC

O compilador, o vinculador, as bibliotecas padrão e os utilitários relacionados do Microsoft C++ compõem o conjunto de ferramentas do compilador do MSVC (também chamado de conjunto de ferramentas ou "ferramentas de build"). Elas estão incluídas no Visual Studio. Você também pode baixar e usar o conjunto de ferramentas de linha de comando como um pacote autônomo gratuito. Para obter mais informações, confira Ferramentas de Build para Visual Studio na página de Downloads do Visual Studio.

Você pode criar programas simples invocando o compilador do MSVC (cl.exe) diretamente na linha de comando. O comando a seguir aceita um único arquivo de código-fonte e invoca o cl.exe para criar um executável chamado hello.exe:

cl /EHsc hello.cpp

Aqui, o compilador (cl.exe) invoca automaticamente o pré-processador do C++ e o vinculador para produzir o arquivo de saída final. Para obter mais informações, consulte Compilando na linha de comando.

Sistemas de build e projetos

A maioria dos programas do mundo real usa algum tipo de sistema de build para gerenciar complexidades da compilação de vários arquivos de origem para várias configurações (depuração versus lançamento), várias plataformas (x86, x64, ARM e assim por diante), etapas de build personalizadas e até mesmo vários executáveis que devem ser compilados em uma determinada ordem. Você faz configurações em um arquivo de configuração de build e o sistema de build aceita esse arquivo como entrada antes de invocar o compilador. O conjunto de arquivos de código-fonte e arquivos de configuração de build necessários para criar um arquivo executável é chamado de projeto.

A lista a seguir mostra várias opções para Projetos do Visual Studio – C++:

  • criar um projeto do Visual Studio usando o IDE do Visual Studio e configurá-lo usando páginas de propriedade. Os projetos do Visual Studio produzem programas executados no Windows. Para obter uma visão geral, confira Compilação e criação na documentação do Visual Studio.

  • abrir uma pasta que contém um arquivo CMakeLists.txt. O suporte ao CMake é integrado ao Visual Studio. Você pode usar o IDE para editar, testar e depurar sem modificar nada nos arquivos CMake. Isso permite que você trabalhe no mesmo projeto do CMake que outras pessoas que possam estar usando editores diferentes. O CMake é a abordagem recomendada para o desenvolvimento multiplataforma. Para saber mais, veja Projetos do CMake.

  • abrir uma pasta solta de arquivos de origem sem nenhum arquivo de projeto. O Visual Studio usará a heurística para criar os arquivos. Essa é uma forma fácil de compilar e executar pequenos aplicativos de console. Para saber mais, confira Projetos Open Folder.

  • abrir uma pasta que contenha um makefile ou qualquer outro arquivo de configuração do sistema de build. Você pode configurar o Visual Studio para invocar qualquer comando arbitrário de build adicionando arquivos JSON à pasta. Para saber mais, confira Projetos Open Folder.

  • Abrir um makefile do Windows no Visual Studio. Para obter mais informações, confira Referência do NMAKE.

MSBuild na linha de comando

Você pode invocar o MSBuild na linha de comando passando um arquivo .vcxproj junto com opções da linha de comando. Essa abordagem requer uma boa compreensão do MSBuild e é recomendada somente quando necessário. Para mais informações, consulte MSBuild.

Nesta seção

Projetos do Visual Studio
Como criar, configurar e criar projetos do C++ no Visual Studio usando o sistema de build nativo (MSBuild).

Projetos do CMake
Como codificar, compilar e implantar projetos do CMake no Visual Studio.

Projetos de pasta aberta
Como usar o Visual Studio para codificar, compilar e implantar projetos do C++ com base em qualquer sistema de build arbitrário ou nenhum sistema de build.

Builds de lançamento
Como criar e solucionar problemas de builds de lançamento otimizados para implantação para usuários finais.

Uso do conjunto de ferramentas MSVC da linha de comando
Discute como usar o compilador do C/C++ e criar ferramentas diretamente na linha de comando em vez de usar o IDE do Visual Studio.

Criação de DLLs no Visual Studio
Como criar, depurar e implantar DLLs do C/C++ (bibliotecas compartilhadas) no Visual Studio.

Demonstra Passo a passo: Criando e usando uma biblioteca estática
Como criar um arquivo binário .lib.

Compilando aplicativos isolados do C/C++ e assemblies lado a lado
Descreve o modelo de implantação de aplicativos para Windows Desktop, com base na ideia de aplicativos isolados e assemblies lado a lado.

Configurar projetos C++ para destinos x64 de 64 bits
Como direcionar ao hardware do x64 de 64 bits com as ferramentas de build do MSVC.

Configuração de projetos C++ para processadores ARM
Como usar as ferramentas de build do MSVC para direcionar ao hardware do ARM.

Otimizando seu código
Como otimizar seu código de várias maneiras, incluindo otimizações guiadas pelo programa.

Configurando programas para Windows XP
Como direcionar ao Windows XP com as ferramentas de build do MSVC.

Referência de build C/C++
Fornece links para artigos de referência sobre compilação de programa em C++, opções de compilador e vinculador, e outras ferramentas de compilação.