Armazenando Projeto C/C++ do NetBeans nos Sistemas de Controle de Versão

This tutorial needs a review. You can open a JIRA issue, or edit it in GitHub following these contribution guidelines.

Contribuição de Vladimir Kvashin, mantida por Alyona Stashkova Março de 2014 [Número da revisão: V8.0-1]

Iniciar o NetBeans IDE 7.3 armazenando projetos do NetBeans C/C (especialmente projetos de código existente e projetos de binários) em VCS (sistemas de controle de versão) ficou mais fácil. Este artigo cobre os detalhes do armazenamento de projetos do NetBeans CC em VCS no NetBeans IDE.

netbeans stamp 80 74 73
Figure 1. O conteúdo desta página se aplica ao NetBeans IDE 7.3 e mais recente

Requisitos

Para seguir este tutorial, você precisa do software a seguir.

Software Versão Necessária

NetBeans IDE (incluindo o suporte ao C/C++)

versão 7.3 ou mais recente com o plug-in C/C+ do NetBeans+

Java Development Kit (JDK)

+Versão 6, 7 ou 8 +

Consulte as Instruções de Instalação do NetBeans IDE e a + Configuração do NetBeans IDE para o C/C+/Fortran para obter informações sobre o download e a instalação do software necessário.

Problemas de Projeto Controlado por VCS Resolvidos no NetBeans IDE

Os seguintes problemas foram resolvidos no NetBeans IDE:

Armazenamento de Dados de Projeto Não Amigável em VCS

O NetBeans IDE usado para alterar os arquivos de metadados do projeto com muita frequência. Por exemplo, você pode apenas abrir um projeto que estava em VCS, não alterar nada e, de repente, perceber que alguns arquivos de metadados do projeto foram alterados, então você precisa verificá-los ou revertê-los.

Esse problema se relacionava principalmente a projetos de código existente e projetos de binário, em outras palavras, projetos baseados em arquivos feitos pelo usuário.

A raiz do problema era o IDE ter pouquíssima informação sobre quais arquivos de tais projetos faziam parte da compilação e com quais opções do compilador cada arquivo foi compilado. Sem esse conhecimento, a funcionalidade Assistência ao Código não podia ser preciso. Então, o IDE tinha que usar uma inteligência de segundo plano para descobrir o conteúdo do projeto e a configuração da Assistência ao Código e analisar os arquivos corretos com as opções corretas. Infelizmente, essa inteligência armazenava seus dados de uma forma não adequada ao uso de VCS.

Opções do Compilador

O problema do compilador reside no fato de as opções do compilador usadas para criar um projeto poderem ser muito específicas para a máquina em que você compila seu projeto. Por exemplo, a compilação OpenJDK usa ALT_BOOTDIR, que deve ser definido para o caminho para o meu JDK. Esse caminho pode ser diferente, mesmo em máquinas com o mesmo sistema operacional. O IDE armazena todas as opções do compilador em metadados do projeto; sem conhecer essas opções, ele não poderá analisar seu código da próxima vez e ser preciso o suficiente.

Quando alguma informação da máquina ou específica do usuário entra no VCS, os metadados do projeto são alterados depois que outro usuário o verifica e cria um projeto (novas opções são armazenadas), embora o usuário não tenha feito alterações no projeto.

Lista de Variáveis do Ambiente

Para projetos do código existente ou de binário, você pode especificar a lista de variáveis do ambiente que serão usadas no armazenamento de metadados do projeto. Quando o IDE armazena as opções do compilador e um valor de opção coincide com um valor de variável, serão escritas macros.

Considere o exemplo a seguir. As variáveis ALT_BOOTDIR=/usr/jdk/latest e ALT_BOOTDIR são listadas no campo mencionado acima no meu ambiente. Se o IDE percebe que a opção -I/usr/jdk/latest/include foi usada durante a compilação de um arquivo, ele irá armazenar o ${ALT_BOOTDIR}/include nos metadados do projeto.

O assistente Configurar Assistência ao Código também funciona por configuração: ele altera somente a configuração que está atualmente ativa. Portanto, é possível executá-lo separadamente para cada configuração e obter diferentes definições de assistência ao código para diferentes plataformas.

Configurando a Assistência ao Código Quando Você não Consegue Construir o Projeto

O assistente Configura Assistência ao Código é mais eficiente se você compila o código com informações de depuração. As melhores opções são -g3 -gdwarf-2 para compiladores GNU e apenas -g para compiladores Sun.

Caso seu projeto ainda não tenha sido compilado ou se ele não contiver informações de depuração, o assistente Configurar Assistência ao Código tem um modo especial denominado Pesquisar sistema de arquivos para arquivos de cabeçalho C/C++. Nesse modo, o NetBeans IDE tenta solucionar diretivas include com falha procurando cabeçalhos no sistema de arquivos. Para esse fim, o assistente permite inserir o caminho para a procura de cabeçalhos. Por default, é uma raiz do código-fonte do projeto.

Macros Transitórias

Outro elemento que pode alterar os metadados do projeto inesperadamente são as macros (opções -D) voláteis. Por exemplo, uma macro que dependa de uma data ou nome de usuário atual. Armazenar esses valores de macro altera os arquivos de metadados do projeto, mas isso não faz muito sentido.

Você pode especificar a lista dessas macros a ignorar no campo "Macros transitórias". Isso impede o IDE de armazenar esses valores de macro nos metadados do projeto. As macros devem ser especificadas na forma macro=valor. Esta é uma tela das propriedades de um projeto:

proj props small

Projetos Gerenciados

Nos projetos gerenciados (projetos "Aplicação C/C", "Biblioteca Dinâmica C/C" ou "Biblioteca Estática C/C++"), é possível usar também as variáveis de ambiente para especificar opções do compilador. Elas devem ser precedidas de um cifrão e inseridas entre chaves, desta forma: ${ALTBOOTDIR}/include.

Mais Informações sobre C/C++/Suporte Fortran

  • Consulte Trilha de Aprendizado C/C++ para obter mais informações sobre o uso das funcionalidades do NetBeans IDE.

  • Entre no link:http://forums.netbeans.org/cnd-users.html[+Fórum de Usuário do NetBeans C/C+] para participar de discussões relacionadas ao desenvolvimento de C/C usando o NetBeans IDE ou pedir ajuda.

  • Você pode arquivar um bug ou sugerir aprimoramentos para o Bugzilla (é necessário ter registro no netbeans.org).

  • Para obter informações sobre como usar pacotes de controle de versão populares com o NetBeans IDE, consulte " Aplicando Controle de Versão às Aplicações com Controle de Versão" em Desenvolvendo Aplicações com o NetBeans IDE. link:mailto:users@cnd.netbeans.org?subject=subject=Feedback:%20Storing%20NetBeans%20C/+%20Projects%20Under%20Version%20Control%20System[+Enviar Feedback neste Tutorial]