Criar um projeto de makefile C++
Um makefile é um arquivo de texto que contém instruções sobre como criar e vincular (ou compilar) um conjunto de arquivos de código-fonte. Um programa (geralmente chamado um programa make) lê o makefile e invoca um compilador, vinculador e possivelmente outros programas para criar um arquivo executável. O programa da Microsoft é chamado NMAKE.
Se tiver um projeto makefile existente, você terá estas opções se desejar editar, compilar e depurar no Visual Studio IDE:
- Crie um projeto de makefile no Visual Studio que usa o makefile existente para configurar um arquivo .vcxproj que será usado pelo Visual Studio para o IntelliSense. (Você não terá todos os recursos do IDE obtidos com um projeto nativo do MSBuild.) Consulte Para criar um projeto makefile abaixo.
- Use o assistente para Criar Novo Projeto com base em Arquivos de Código Existentes para criar um projeto nativo do MSBuild com base no código-fonte. O makefile original não será mais usado. Para obter mais informações, consulte Como criar um projeto do C++ com base no código existente.
- Visual Studio 2017 e posterior: Use a funcionalidade Abrir Pasta para editar e compilar um projeto de makefile no estado em que se encontra, sem nenhum envolvimento do sistema MSBuild. Para saber mais, veja Projetos Open Folder para C++.
- Visual Studio 2019 e posterior: Crie um projeto de makefile UNIX para Linux.
Para criar um projeto makefile com o modelo de projeto makefile
No Visual Studio 2017 e posterior, o modelo de projeto Makefile estará disponível quando a carga de trabalho de Desenvolvimento do C++ da área de trabalho for instalada.
Siga o assistente para especificar os comandos e o ambiente usado pelo seu makefile. Em seguida, use esse projeto para compilar o código no Visual Studio.
Por padrão, o projeto de makefile não exibe nenhum arquivo no Gerenciador de Soluções. O projeto de makefile especifica as configurações de build, que são refletidas na página de propriedades do projeto.
O arquivo de saída que você especifica no projeto não tem efeito no nome que o script de compilação gera. Ele declara apenas uma intenção. O makefile ainda controla o processo de build e especifica os destinos de build.
Para criar um projeto de makefile no Visual Studio 2019
No menu principal do Visual Studio, escolha Arquivo>Novo>Projeto e digite "makefile" na caixa de pesquisa. Se você vir mais de um modelo de projeto, selecione entre as opções, dependendo da plataforma de destino.
Somente Windows: No projeto Makefile, Na página Definições da Configuração de Depuração, forneça as informações de comando, saída, limpeza e recompilação para builds de depuração e varejo. Escolha Avançar se desejar especificar configurações diferentes para uma configuração de Versão.
Escolha Concluir para fechar a caixa de diálogo e abra o projeto recém-criado no Gerenciador de Soluções.
Para criar um projeto de makefile no Visual Studio 2015 ou no Visual Studio 2017
Na página inicial do Visual Studio, digite "makefile" na caixa de pesquisa Novo projeto. Ou, na caixa de diálogo Novo Projeto, expanda Visual C++>Geral (Visual Studio 2015) ou Outro (Visual Studio 2017) e, em seguida, selecione Projeto Makefile no painel Modelos para abrir o assistente de projeto.
Na página Configurações de Aplicativo, forneça as informações de comando, saída, limpeza e recompilação para builds de depuração e varejo.
Escolha Concluir para fechar o assistente e abrir o projeto recém-criado no Gerenciador de Soluções.
Você pode ver e editar as propriedades do projeto em sua página de propriedades. Para obter mais informações sobre como exibir a página de propriedades, consulte Definir propriedades do compilador C++ e compilar no Visual Studio.
Assistente de projeto de makefile
Depois de criar um projeto de makefile, exiba e edite cada uma das opções a seguir na página NMake da página de propriedades do projeto.
Linha de comando Build: Especifica a linha de comando a ser executada quando o usuário seleciona Compilar no menu Build. Exibida no campo Linha de comando de build na página NMake da página de propriedades do projeto.
Saída: Especifica o nome do arquivo de saída que conterá a saída da linha de comando. Por padrão, essa opção baseia-se no nome do projeto. Exibida no campo Saída na página NMake da página de propriedades do projeto.
Comandos Limpar: Especifica a linha de comando a ser executada quando o usuário seleciona Limpar no menu Build. Exibida no campo Linha de comando de limpeza na página NMake da página de propriedades do projeto.
Linha de comando Recompilar: Especifica a linha de comando a ser executada quando o usuário seleciona Recompilar no menu Build. Exibida no campo Linha de comando de Recompilar tudo na página NMake da página de propriedades do projeto.
Como habilitar o IntelliSense para projetos de makefile
O IntelliSense falha em projetos de makefile quando algumas configurações de projeto ou opções do compilador estão definidas incorretamente. Siga estas etapas para configurar projetos de makefile para que o IntelliSense funcione conforme o esperado:
Abra a caixa de diálogo Páginas de Propriedades. Para obter mais informações, confira Definir as propriedades de build e do compilador do C++ no Visual Studio.
Selecione a página de propriedades Propriedades de Configuração>NMake.
Modifique as propriedades no IntelliSense conforme apropriado:
Defina a propriedade Definições do Pré-processador para definir os símbolos do pré-processador no projeto makefile. Para obter mais informações, consulte
/D
(Definições de pré-processador).Defina a propriedade Caminho de Pesquisa de Inclusão para especificar a lista de diretórios que o compilador pesquisará para resolver as referências de arquivo passadas para as diretivas do pré-processador no projeto makefile. Para obter mais informações, consulte
/I
(Diretórios de inclusão adicionais).Nos projetos criados usando CL.EXE em uma Janela Comando, defina a variável de ambiente INCLUDE para especificar os diretórios que o compilador pesquisará para resolver as referências de arquivo passadas para as diretivas do pré-processador no projeto makefile.
Defina a propriedade Inclusões Forçadas para especificar quais arquivos de cabeçalho serão processados durante o build do projeto makefile. Para obter mais informações, consulte
/FI
(Nomear arquivo de inclusão forçada).Defina a propriedade Caminho de Pesquisa de Assembly para especificar a lista de diretórios que o compilador pesquisará para resolver as referências a assemblies .NET no projeto. Para obter mais informações, consulte
/AI
(Especificar diretórios de metadados).Defina a propriedade Assemblies de Uso Forçado para especificar quais assemblies .NET serão processados durante o build do projeto makefile. Para obter mais informações, consulte
/FU
(Nomear arquivo #using forçado).Defina a propriedade Opções Adicionais para especificar outras opções do compilador a serem usadas pelo IntelliSense durante a análise de arquivos do C++.
Escolha OK para fechar as páginas de propriedades.
Use o comando Salvar Tudo para salvar as configurações de projeto modificadas.
Na próxima vez que você abrir o projeto makefile no ambiente de desenvolvimento do Visual Studio, execute o comando Limpar Solução e, em seguida, o comando Compilar Solução no projeto makefile. O IntelliSense deverá funcionar corretamente no IDE.
Confira também
Usando o IntelliSense
Referência a NMAKE
Como criar um projeto do C++ a partir do código existente
Caracteres especiais em um makefile
Conteúdo e recursos do makefile