blob: b6fd179479da4c9629704fd40f82006a9383e435 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Instru&ccedil;&otilde;es para aplicativos C/C++</title>
<link rel="stylesheet" href="https://netbeans.org/netbeans.css" type="text/css">
<meta name="description"
content="Configuring code assistance for a multi-platform project">
<meta name="author" content="Vladimir Kvashin and Vladimir Voskresensky"> <!--Optional tag-->
<meta name="keywords" content=""> <!--Useful for including potential alternate search terms (shouldn't
overlap with words that are prominently listed in the tutorial) -->
</head>
<body>
<a name="top"></a>
<h1>Instru&ccedil;&otilde;es para aplicativos C/C++</h1>
<!-- START INTRO ---------------------------------------------------------------------------------------* -->
<div class="articledate" style="margin-left: 0px;font-style:italic;">
<p><em>Contribui&ccedil;&atilde;o de <a
href="mailto:vladimir.kvashin@sun.com"><i>Vladimir Kvashin</i></a> e <a
href="mailto:vladimir.voskresensky.com"><i>Vladimir Voskresensky</i></a><br>
e mantida por <i>Susan Morgan</i> Dezembro de 2009</em> [N&uacute;mero da revis&atilde;o: V6.8-1]
</div>
<h3>Conte&uacute;do</h3>
<img src="../../../images_www/articles/69/netbeans-stamp-69-70.png" class="stamp"
alt="O conte&uacute;do nesta p&aacute;gina aplica-se ao NetBeans IDE 6.7, NetBeans IDE 6.8, NetBeans IDE 6.9 e Netbeans IDE 7.0"
title="O conte&uacute;do nesta p&aacute;gina aplica-se ao NetBeans IDE 6.7, NetBeans IDE 6.8, NetBeans IDE 6.9 e Netbeans IDE 7.0">
<table class="b-none" cellpadding="0" cellspacing="0" class="vatop">
<tr>
<td class="hyphen">-&nbsp;</td>
<td><a href="#questionmark" title="O que fazer quando seu projeto tem um ponto de interroga&ccedil;&atilde;o na janela projetos ou uma diretiva #include est&aacute; sublinhada em vermelho">O que fazer quando seu projeto tem um ponto de interroga&ccedil;&atilde;o na janela projetos ou uma diretiva #include est&aacute; sublinhada em vermelho</a></td>
</tr>
<tr>
<td class="hyphen">-&nbsp;</td>
<td><a href="#multiplatform" title="Configurando a assist&ecirc;ncia a c&oacute;digo para um projeto multiplataforma">Configurando a assist&ecirc;ncia a c&oacute;digo para um projeto multiplataforma</a></td>
</tr>
<tr>
<td class="hyphen">-&nbsp;</td>
<td><a href="#cannotbuild" title="Configurando a assist&ecirc;ncia a c&oacute;digo quando voc&ecirc; n&atilde;o consegue compilar o projeto">Configurando a assist&ecirc;ncia a c&oacute;digo quando voc&ecirc; n&atilde;o consegue compilar o projeto</a></td>
</tr>
<tr>
<td class="hyphen">-&nbsp;</td>
<td><a href="#definitiondeclaration" title="Quando um hiperlink vai para uma defini&ccedil;&atilde;o de fun&ccedil;&atilde;o e quando vai para uma declara&ccedil;&atilde;o">Quando um hiperlink vai para uma defini&ccedil;&atilde;o de fun&ccedil;&atilde;o e quando vai para uma declara&ccedil;&atilde;o</a></td>
</tr>
<tr>
<td class="hyphen">-&nbsp;</td>
<td><a href="#namespace" title="Encontrando todas as defini&ccedil;&otilde;es de um espa&ccedil;o de nome">Encontrando todas as defini&ccedil;&otilde;es de um espa&ccedil;o de nome</a></td>
<tr>
<td class="hyphen">-&nbsp;</td>
<td><a href="#declaration" title="Vendo o nome de declara&ccedil;&atilde;o de uma declara&ccedil;&atilde;o feita em uma macro">Vendo o nome de declara&ccedil;&atilde;o de uma declara&ccedil;&atilde;o feita em uma macro</a></td>
</tr>
</table>
<h2><a name="questionmark"></a>O que fazer quando seu projeto tem um ponto de interroga&ccedil;&atilde;o na janela projetos ou uma diretiva #include est&aacute; sublinhada em vermelho</h2>
<p>
Se seu projeto tem um ponto de interroga&ccedil;&atilde;o na janela projetos ou uma diretiva <tt>#include</tt> est&aacute; sublinhada em vermelho, ent&atilde;o seu projeto tem diretivas include n&atilde;o resolvidas. O IDE usa o analisador interno que &eacute; usado por recursos de assist&ecirc;ncia a c&oacute;digo (preenchimento autom&aacute;tico de c&oacute;digo, janela Classes, janela navegador etc.). As marca&ccedil;&otilde;es significam que esse analisador n&atilde;o conseguiu resolver algumas diretivas <tt>#include</tt>, pois o projeto IDE tem configura&ccedil;&atilde;o incorreta.
</p>
<p>
Eis alguns dos poss&iacute;veis motivos (arranjados por probabilidade, do mais para o menos prov&aacute;vel):
<ul>
<li>Caminhos include do usu&aacute;rio errados ou insuficientes especificados no projeto, na pasta l&oacute;gica ou nas propriedades do arquivo</li>
<li>Macros definidas pelo usu&aacute;rio erradas ou insuficientes especificadas no projeto, na pasta l&oacute;gica ou nas propriedades do arquivo</li>
<li>O arquivo de c&oacute;digo-fonte foi inclu&iacute;do no projeto por engano</li>
<li>O arquivo de cabe&ccedil;alho n&atilde;o foi inclu&iacute;do em nenhum arquivo de c&oacute;digo-fonte e, portanto, foi inclu&iacute;do no projeto por engano</li>
</ul>
</p>
<p>
Tente iniciar o assistente Configurar assist&ecirc;ncia a c&oacute;digo clicando com o bot&atilde;o direito do mouse no n&oacute; do projeto e selecionando Assist&ecirc;ncia a c&oacute;digo &gt; Configurar assist&ecirc;ncia a c&oacute;digo. Isso ajuda a resolver o problema. Se voc&ecirc; sabe exatamente onde est&atilde;o os arquivos que correspondem &agrave; diretiva include com falha, configure manualmente o projeto, a pasta l&oacute;gica e as propriedades do arquivo.
</p>
<h2><a name="multiplatform"></a>Configurando a assist&ecirc;ncia a c&oacute;digo para um projeto multiplataforma</h2>
<p>
Se voc&ecirc; estiver desenvolvendo um projeto multiplataforma a partir de c&oacute;digo existente, poder&aacute; usar o mesmo projeto IDE para diferentes plataformas. Basta criar uma configura&ccedil;&atilde;o por plataforma e alterar a cole&ccedil;&atilde;o de compiladores, op&ccedil;&otilde;es do compilador e outras propriedades do projeto adequadamente.
</p>
<p>O assistente Configurar assist&ecirc;ncia a c&oacute;digo tamb&eacute;m funciona por configura&ccedil;&atilde;o: ele altera somente a configura&ccedil;&atilde;o que est&aacute; atualmente ativa. Portanto, &eacute; poss&iacute;vel execut&aacute;-lo separadamente para cada configura&ccedil;&atilde;o e obter diferentes configura&ccedil;&otilde;es de assist&ecirc;ncia a c&oacute;digo para diferentes plataformas.
</p>
<h2><a name="cannotbuild"></a>Configurando a assist&ecirc;ncia a c&oacute;digo quando voc&ecirc; n&atilde;o consegue compilar o projeto</h2>
<p>O assistente Configurar assist&ecirc;ncia a c&oacute;digo ser&aacute; mais eficiente se voc&ecirc; compilar seu c&oacute;digo com informa&ccedil;&otilde;es de depura&ccedil;&atilde;o (as melhores op&ccedil;&otilde;es s&atilde;o <tt>-g3 -gdwarf-2</tt> para compiladores GNU e somente <tt>-g</tt> para compiladores Sun.
</p>
<p>Caso seu projeto ainda n&atilde;o tenha sido compilado ou se ele n&atilde;o contiver informa&ccedil;&otilde;es de depura&ccedil;&atilde;o, o assistente Ajuda para configurar c&oacute;digo tem um sistema de busca de arquivos em modo especial para arquivos de cabe&ccedil;alho C/C++. Nesse modo, o NetBeans IDE tenta solucionar diretivas include com falha procurando cabe&ccedil;alhos no sistema de arquivos. Para esse fim, o assistente permite inserir o caminho para a procura de cabe&ccedil;alhos. Por padr&atilde;o, &eacute; uma raiz do c&oacute;digo-fonte do projeto.
</p>
<h2><a name="definitiondeclaration"></a>Quando um hiperlink vai para uma defini&ccedil;&atilde;o de fun&ccedil;&atilde;o e quando vai para uma declara&ccedil;&atilde;o</h2>
<p>
Um hiperlink de uso de fun&ccedil;&atilde;o tenta encontrar a defini&ccedil;&atilde;o da fun&ccedil;&atilde;o em projetos abertos. Se a defini&ccedil;&atilde;o de fun&ccedil;&atilde;o n&atilde;o for encontrada em projetos abertos, ent&atilde;o o hiperlink pula a declara&ccedil;&atilde;o da fun&ccedil;&atilde;o.
</p>
<p>Um hiperlink de uma declara&ccedil;&atilde;o de fun&ccedil;&atilde;o tenta encontrar a defini&ccedil;&atilde;o da fun&ccedil;&atilde;o em projetos abertos. Se for bem-sucedido, ent&atilde;o ele abre a defini&ccedil;&atilde;o.</p>
<p>Um hiperlink de uma infraestrutura de defini&ccedil;&atilde;o de fun&ccedil;&atilde;o tenta encontrar a declara&ccedil;&atilde;o da fun&ccedil;&atilde;o em projetos abertos. Se for bem-sucedido, ent&atilde;o ele abre a declara&ccedil;&atilde;o.
</p>
<h2><a name="namespace"></a>Encontrando todas as defini&ccedil;&otilde;es de um espa&ccedil;o de nome</h2>
<p>
Um espa&ccedil;o de nome pode ser definido em diferentes arquivos do projeto. Para navegar entre diferentes defini&ccedil;&otilde;es de espa&ccedil;o de nome, use a janela Classes (Ctrl-9). Clique com o bot&atilde;o direito do mouse no espa&ccedil;o de nome no qual est&aacute; interessado e selecione Todas as declara&ccedil;&otilde;es. Voc&ecirc; ver&aacute; uma lista de todas as defini&ccedil;&otilde;es classificada por nomes de arquivo.
</p>
<p>Caso seu projeto ainda n&atilde;o tenha sido compilado ou se ele n&atilde;o contiver informa&ccedil;&otilde;es de depura&ccedil;&atilde;o, o assistente Ajuda para configurar c&oacute;digo tem um sistema de busca de arquivos em modo especial para arquivos de cabe&ccedil;alho C/C++. Nesse modo, o NetBeans IDE tenta solucionar diretivas include com falha procurando cabe&ccedil;alhos no sistema de arquivos. Para esse fim, o assistente permite inserir o caminho para a procura de cabe&ccedil;alhos. Por padr&atilde;o, &eacute; uma raiz do c&oacute;digo-fonte do projeto.
</p>
<h2><a name="declaration"></a>Vendo o nome de declara&ccedil;&atilde;o de uma declara&ccedil;&atilde;o feita em uma macro</h2>
<p>
Algumas vezes, macros s&atilde;o usadas para declarar fun&ccedil;&otilde;es, espa&ccedil;os de nome e vari&aacute;veis. Para ver como a macro foi expandida no c&oacute;digo-fonte para introduzir uma declara&ccedil;&atilde;o, use a janela Navegador (Ctrl-7) e coloque o cursor na declara&ccedil;&atilde;o com base em macro. O Navegador selecionar&aacute; a declara&ccedil;&atilde;o da linguagem correspondente em sua vista.
</p>
<div class="feedback-box"><a href="mailto:users@cnd.netbeans.org?subject=subject=Feedback:%C/C++ Application How-Tos - NetBeans IDE 6.8">Envie-nos seus coment&aacute;rios</a><br style="clear:both;">
</div>
</body>
</html>