Guia: Compilar um programa nativo em C++ na linha de comandos

Visual Studio inclui um compilador de linha de comando C e C++. Você pode usá-lo para criar tudo, desde aplicativos básicos de console até aplicativos da Plataforma Universal do Windows, aplicativos de área de trabalho, drivers de dispositivo e componentes .NET.

Neste passo a passo, você cria um programa C++ básico no estilo "Olá, Mundo" usando um editor de texto e, em seguida, compila-o na linha de comando. Se você quiser experimentar o IDE do Visual Studio em vez de usar a linha de comando, consulte Passo a passo: Trabalhando com projetos e soluções (C++) ou Usando o IDE do Visual Studio para desenvolvimento de área de trabalho C++.

Neste walkthrough, pode usar o seu próprio programa em C++ em vez de escrever o que é usado aqui. Ou pode usar um exemplo de código C++ de outro artigo.

Pré-requisitos

Para concluir este tutorial, tem de ter o Visual Studio e a carga de trabalho opcional Desenvolvimento para ambiente de trabalho com C++ ou as Build Tools da linha de comandos para Visual Studio.

Visual Studio é um ambiente de desenvolvimento integrado (IDE). Ele suporta um editor completo, gerenciadores de recursos, depuradores e compiladores para muitas linguagens e plataformas. As versões disponíveis incluem a edição gratuita do Visual Studio Community e todas podem oferecer suporte ao desenvolvimento em C e C++. Para obter informações sobre como baixar e instalar o Visual Studio, consulte Instalar o suporte a C++ no Visual Studio.

O Build Tools for Visual Studio instala apenas os compiladores de linha de comando, ferramentas e bibliotecas necessárias para criar programas C e C++. É perfeito para construir laboratórios ou exercícios em sala de aula e instala-se relativamente rapidamente. Para instalar apenas as ferramentas de linha de comandos, procure por Build Tools para Visual Studio em Visual Studio Downloads.

Antes de criar um programa C ou C++ na linha de comando, verifique se as ferramentas estão instaladas e você pode acessá-las a partir da linha de comando. O Microsoft C++ (MSVC) tem requisitos complexos para o ambiente de linha de comando para localizar as ferramentas, cabeçalhos e bibliotecas que ele usa.

Não se pode usar o Microsoft C++ numa janela de prompt de comandos simples sem alguma preparação. O Microsoft C++ instala atalhos para iniciar uma linha de comandos de programador com o ambiente configurado para compilações na linha de comandos. Infelizmente, os nomes dos atalhos do prompt de comando do desenvolvedor e onde eles estão localizados são diferentes em quase todas as versões do Visual Studio e em diferentes versões do Windows. Sua primeira tarefa passo a passo é encontrar o certo para usar.

Observação

Um atalho de prompt de comando do desenvolvedor define automaticamente os caminhos corretos para o compilador e as ferramentas, bem como para quaisquer cabeçalhos e bibliotecas necessários. Você deve definir esses valores de ambiente por si mesmo se usar uma janela de prompt de comando regular. Para obter mais informações, consulte Usar o conjunto de ferramentas MSVC a partir da linha de comando. Recomendamos que utilize um atalho da linha de comandos do desenvolvedor em vez de criar o seu próprio.

Abrir um prompt de comando do desenvolvedor

  1. Se tiver Visual Studio 2017 ou posteriores em Windows 10 ou posteriores, abra o menu Start e escolha Todas as apps. Role para baixo e abra a pasta Visual Studio (não o aplicativo Visual Studio). Escolha Linha de Comandos do Desenvolvedor para VS para abrir a janela da linha de comandos.

    Se tiveres Microsoft Visual Studio Build Tools 2015 no Windows 10 ou posterior, abre o menu Start e escolhe Todas as aplicações. Role para baixo e abra a pasta Visual Studio Build Tools . Escolha x86 Native Tools Command Prompt para abrir a janela do prompt de comando.

    Você também pode usar a função de pesquisa do Windows para procurar o prompt de comando do desenvolvedor e escolher um que corresponda à sua versão instalada do Visual Studio. Utilize o atalho para abrir a janela do prompt de comando.

  2. Verifica se o prompt de comandos do programador C++ está configurado corretamente. Na janela do prompt de comando, digite cl e verifique se a saída tem esta aparência:

    C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise>cl
    Microsoft (R) C/C++ Optimizing Compiler Version 19.10.25017 for x86
    Copyright (C) Microsoft Corporation.  All rights reserved.
    
    usage: cl [ option... ] filename... [ /link linkoption... ]
    

Podem existir diferenças no diretório atual ou nos números de versão. Esses valores dependem da versão do MSVC e de quaisquer atualizações instaladas. Se o resultado for semelhante ao que vês, então estás pronto para construir programas em C ou C++ na linha de comandos.

Observação

Se receber um erro como "'cl' não é reconhecido como comando interno ou externo, programa operável ou ficheiro batch", erro C1034, ou erro LNK1104 ao executar o cl comando, não está a usar o prompt de comandos do programador, ou algo está errado com a instalação do MSVC. Você deve corrigir esse problema antes de poder continuar.

Se não conseguires encontrar o atalho do prompt de comandos do programador, ou se receberes uma mensagem de erro ao inserir cl, então a instalação do MSVC pode ter um problema. Tente reinstalar o componente MSVC no Visual Studio ou Visual Studio Build Tools. Não vá para a próxima seção até que o cl comando funcione. Para obter mais informações sobre como instalar e solucionar problemas do MSVC, consulte Instalar o Visual Studio.

Observação

Dependendo da versão do Windows no computador e da configuração de segurança do sistema, talvez seja necessário clicar com o botão direito do mouse para abrir o menu de atalho do atalho do prompt de comando do desenvolvedor e, em seguida, escolher Executar como administrador para criar e executar com êxito o programa criado seguindo este passo a passo.

Crie um arquivo de origem C++ e compile-o na linha de comando

  1. Na janela do prompt de comando do desenvolvedor, digite md C:\hello para criar um diretório e, em seguida, digite cd C:\hello para alterar para esse diretório. Este diretório é onde o arquivo de origem e o programa compilado são criados.

  2. Entre notepad hello.cpp na janela do prompt de comando.

    Escolha Sim quando o Bloco de Notas solicitar que você crie um novo arquivo. Este passo abre uma janela de bloco de notas em branco, pronta para inserir o seu código num ficheiro chamado hello.cpp.

  3. No Notepad, introduza o seguinte código:

    #include <iostream>
    using namespace std;
    int main()
    {
        cout << "Hello, world, from Microsoft C++!" << endl;
    }
    

    Este código é um programa simples que escreve uma linha de texto no ecrã e depois sai. Para minimizar erros, copie este código e cole-o no bloco de notas.

  4. Salve o seu trabalho! No Bloco de Notas, no menu Arquivo , escolha Salvar.

    Parabéns! Criaste um ficheiro-fonte em C++, hello.cppque está pronto para compilar.

  5. Volte para a janela do prompt de comando do desenvolvedor. Digite dir no prompt de comando para listar o conteúdo do diretório C:\hello. Você deve ver o arquivo de origem hello.cpp na listagem de diretórios, que é algo como:

    C:\hello>dir
     Volume in drive C is Local Disk
     Volume Serial Number is AA11-BB22
    
     Directory of C:\hello
    
    04/28/2026  01:26 PM    <DIR>          .
    04/28/2026  01:26 PM    <DIR>          ..
    04/28/2026  01:27 PM               117 hello.cpp
                   1 File(s)            117 bytes
    

    As datas e outros detalhes serão diferentes no seu computador.

    Observação

    Se não vires o arquivo de código-fonte, hello.cpp, verifica se o diretório de trabalho atual no teu prompt de comando é o diretório C:\hello que criaste. Certifica-te também de que este local é o diretório onde guardaste o ficheiro fonte.

    Certifica-te de que guardaste o código-fonte com uma .cpp extensão de nome de ficheiro, não uma .txt extensão. Seu ficheiro de origem será automaticamente salvo no diretório atual como um ficheiro .cpp se você abrir o Bloco de Notas no prompt de comando utilizando o comando notepad hello.cpp.

    O comportamento do Bloco de Notas é diferente se você abri-lo de outra maneira: Por padrão, o Bloco de Notas acrescenta uma .txt extensão a novos arquivos quando você os salva. Também por defeito guarda ficheiros no seu Documents diretório. Para salvar seu arquivo com uma .cpp extensão no Bloco de Notas, escolha Arquivo>Salvar como. No diálogo Guardar Como , navegue até à pasta C:\hello no controlo da vista da árvore de diretórios. Em seguida, use o controle suspenso Salvar como tipo para selecionar Todos os arquivos (*.*). Digite hello.cpp o controle de edição Nome do arquivo e escolha Salvar para salvar o arquivo.

  6. No prompt de comando do desenvolvedor, digite cl /EHsc hello.cpp para compilar seu programa.

    O compilador cl.exe gera um arquivo .obj que contém o código compilado e, em seguida, executa o vinculador para criar um programa executável chamado hello.exe. Esse nome aparece nas linhas de informações de saída que o compilador exibe. A saída do compilador deve ser algo como:

    C:\hello>cl /EHsc hello.cpp
    Microsoft (R) C/C++ Optimizing Compiler Version 19.10.25017 for x86
    Copyright (C) Microsoft Corporation.  All rights reserved.
    
    hello.cpp
    Microsoft (R) Incremental Linker Version 14.10.25017.0
    Copyright (C) Microsoft Corporation.  All rights reserved.
    
    /out:hello.exe
    hello.obj
    

    Observação

    Se aparecer um erro como "'cl' não é reconhecido como comando interno ou externo, programa operável ou ficheiro batch", erro C1034 ou erro LNK1104, o prompt de comandos do seu programador não está configurado corretamente. Para obter informações sobre como corrigir esse problema, volte para a seção Abrir um prompt de comando do desenvolvedor .

    Se você receber um erro ou aviso diferente do compilador ou do vinculador, revise seu código-fonte para corrigir quaisquer erros, salve-o e execute o compilador novamente. Para obter informações sobre erros específicos, use a caixa de pesquisa para procurar o número do erro.

  7. Para executar o programa hello.exe, no prompt de comando, digite hello.

    O programa exibe este texto e sai:

    Hello, world, from Microsoft C++!
    

    Parabéns! Compilaste e executaste um programa em C++ usando as ferramentas de linha de comandos.

Próximos passos

Este exemplo "Hello, World" é tão simples quanto um programa C++ pode obter. Programas do mundo real geralmente têm arquivos de cabeçalho, mais arquivos de origem e link para bibliotecas.

Você pode usar as etapas neste passo a passo para criar seu próprio código C++ em vez de digitar o código de exemplo mostrado. Essas etapas também permitem que você crie muitos programas de exemplo de código C++ que você encontra em outro lugar. Podes colocar o teu código-fonte e construir as tuas aplicações em qualquer diretório gravável. Por defeito, o Visual Studio IDE cria projetos na tua pasta de utilizador, numa subpasta source\repos. Versões mais antigas podem colocar os projetos numa pasta Documents\Visual Studio \{version}\Projects.

Para compilar um programa que tenha outros ficheiros de código-fonte, introduza-os todos na linha de comandos, como:

cl /EHsc file1.cpp file2.cpp file3.cpp

A /EHsc opção de linha de comando instrui o compilador a habilitar o comportamento padrão de tratamento de exceções C++. Sem ele, exceções lançadas podem resultar em objetos não destruídos e vazamentos de recursos. Para obter mais informações, consulte /EH (Exception Handling Model).

Quando fornece outros ficheiros fonte, o compilador usa o primeiro ficheiro de entrada para criar o nome do programa. Neste caso, gera um programa chamado file1.exe. Para alterar o nome para program1.exe, adicione uma opção de vinculador /out :

cl /EHsc file1.cpp file2.cpp file3.cpp /link /out:program1.exe

Para detetar mais erros de programação automaticamente, recomendamos que compile usando a opção de nível de aviso /W3 ou /W4 :

cl /W4 /EHsc file1.cpp file2.cpp file3.cpp /link /out:program1.exe

O compilador, cl.exe, tem muito mais opções. Você pode aplicá-los para criar, otimizar, depurar e analisar seu código. Para obter uma lista rápida, digite cl /? no prompt de comando do desenvolvedor. Você também pode compilar e vincular separadamente e aplicar opções de vinculador em cenários de compilação mais complexos. Para obter mais informações sobre as opções e o uso do compilador e do vinculador, consulte Referência de construção C/C++.

Você pode usar NMAKE e makefiles, MSBuild e arquivos de projeto, ou CMake, para configurar e criar projetos mais complexos na linha de comando. Para obter mais informações sobre como usar essas ferramentas, consulte Referência NMAKE, MSBuild e projetos CMake no Visual Studio.

As linguagens C e C++ são semelhantes, mas não iguais. O compilador MSVC usa uma regra simples para determinar qual linguagem usar quando compila seu código. Por padrão, o compilador MSVC trata arquivos que terminam como .c código-fonte C e arquivos que terminam como .cpp código-fonte C++. Para forçar o compilador a tratar todos os arquivos como C++ independente da extensão de nome de arquivo, use a opção de compilador /TP .

O compilador MSVC inclui uma C Runtime Library (CRT) que está em conformidade com o padrão ISO C99, com pequenas exceções. O código portátil geralmente compila e executa conforme o esperado. Certas funções de biblioteca obsoletas e vários nomes de funções POSIX são preteridos pelo compilador MSVC. As funções são suportadas, mas os nomes preferidos foram alterados. Para obter mais informações, consulte Recursos de segurança no CRT e Aviso docompilador (nível 3) C4996.

Ver também