<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <link rel="stylesheet" type="text/css" href="../../../netbeans.css">
    <title>Installation et Configuration du Support C/C++ - Tutoriel EDI NetBeans</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" >
    <meta name="DESCRIPTION" content="Installing and Configuring C/C++ Support - NetBeans IDE 6.0 Tutorial">
    <meta name="author" content="Ann Rice"><!--Optional tag-->
    <link rel="stylesheet" type="text/css" href="../../../netbeans.css">
    <meta name="keywords" content="java IDE, java editor, java Platform, free, open source, java development, j2ee support, development enviroment, web development, NetBeans, IDE, java" >
  </head>
 <body>
    <a name="top"></a>

    <h1>Installation et Configuration du Support C/C++</h1>
    <!-- START INTRO ---------------------------------------------------------------------------------------* -->
    <div class="articledate" style="margin-left: 0px;font-style:italic;">
      <p><em>Contribution et maintainance : <a href="mailto:ann.rice@sun.com"><i>Ann
        Rice</i></a><br>

    September 2007</em> [Revision number: V6.0-1]</div>
    <p>Ce document fournit
      des informations sur le t&eacute;l&eacute;chargement, l'installation, et la configuration du support C/C++ dans
    l'EDI NetBeans.</p>

    <!-- END INTRO -->
    <h3>Contenu</h3>
    <img src="../../../images_www/articles/60/netbeans-stamp60-61.gif" class="stamp"
         alt="Content on this page applies to NetBeans IDE 6.0 and NetBeans IDE 6.1"
         title="Content on this page applies to the NetBeans IDE 6.0 and NetBeans IDE
         6.1">
    <table class="b-none" cellpadding="0" cellspacing="0" class="vatop">
      <tr>
        <td class="hyphen">-&nbsp;</td>
        <td><a href="#downloading" title="Downloading C/C++ Support">T&eacute;l&eacute;chargement du support C/C++
        </a></td>
      </tr>
      <tr>
        <td><class="hyphen">-&nbsp;</td>

        <td><a href="#compilers" title="Installing and Setting Up the Compilers and
               Tools">Installation et configuration des compilateurs et des outils</a></td>
      </tr>
      <tr>
        <td><class="hyphen">-&nbsp;</td>
        <td><a href="#verifying" title="Verifying the Installation">V&eacute;rification de l'installation
          </a>
        </td>
      </tr>

    </table>

    <br>
    <!-- DOWNLOADING ---------------------------------------------------------->
    <h2><a name="downloading">T&eacute;l&eacute;chargement du support C/C++</a></h2>
    <br>
    <p>Si vous n'avez pas l'EDI NetBeans 6.0, allez sur la page de
      <a href="../../../downloads/index.html ">t&eacute;l&eacute;chargement de l'EDI NetBeans</a>, et t&eacute;l&eacute;chargez
      une version de l'EDI contenant le support C/C++.
      Si vous avez une installation de l'EDI NetBeans 6.0 qui n'inclus pas le support
      C/C++,
    suivez les instructions suivantes pour ajouter le support C/C++ &agrave; l'EDI.</p>
    <ol>
      <li>Si votre r&eacute;seau utilise un proxy, choisissez Tools &gt; Options depuis le menu
        principal, selectionnez Manual Proxy Settings, entrez les donn&eacute;es HTTP Proxy and Port pour
      votre proxy, et cliquez OK.</li>

      <li>Choisissez Tools &gt; Plugins depuis le menu principal.</li>

      <li>Dans la boite de dialogue Plugins, cliquez l'onglet Available Plugins,
        et faites d&eacute;filez jusqu'&agrave; la cat&eacute;gorie C/C++.
      </li>
      <li>Cochez C/C++.
      <li>Cliquez Install.<br>
      <br>L'installateur de l'EDI NetBeans d&eacute;marre.</li>
      <li>Dans l'installateur de l'EDI NetBeans, cliquez Next.</li>

      <li>Lisez les termes de la licence, puis selectionnez le bouton radio I Accept the Terms in All
      License Agreements, et cliquez Next.</li>
      <li>Cliquez Install.</li>
      <li>Une fois l'installation termin&eacute;e, selectionnez soit Restart IDE Now soit Restart
      IDE Later et cliquez Finish.</li>

    </ol>

    <br>
    <!-- COMPILER SETUP ------------------------------------------------------->
    <h2><a name="compilers">Installation et configuration des compilateurs et des outils</a></h2>

    <p>Le pack Netbeans C/C++ exige un compilateur C, un compilateur C++,
      l'utilitaire <tt>make</tt>, et le debugueur <tt>gdb</tt>.
    </p>
    <!-- COMPILER SETUP: WINDOWS ---------------------------------------------->
    <blockquote>
      <h3 style="color:#0E1B55"><a name="compilers_windows"></a>Windows</h3>
      <p>Le pack NetBeans C/C++ a &eacute;t&eacute; test&eacute; avec les compilateurs et outils suivants:

        <ul>
          <li>Cygwin 1.5.21</li>
          <li>Cygwin gcc-core (C compiler) 3.4.x</li>

          <li>Cygwin gcc-c++ (C++ compiler) 3.4.x</li>
          <li>Cygwin gdb (GNU Debugger) 6.5.50</li>
          <li>Cygwin make 3.80</li>
        </ul>
      </p>
      <p>Si vous avez d&eacute;j&agrave; install&eacute; les compilateurs Cygwin GNU, GNU <tt>make</tt>, et le debugueur
        <tt>gdb</tt> sur votre syst&egrave;me Windows et que votre
        path est correctement configur&eacute; afin de les trouver, soyez s&ucirc;r d'avoir les bonnes versions.
        Si vous avez les bonnes versions, aucune configuration suppl&eacute;mentaire n'est necessaire.
      </p>
      <blockquote>
        <p><b>Pour v&eacute;rifier les versions de vos compilateurs et outils Cygwin:</b>

        <ol>
          <li>
            <p>V&eacute;rifiez la version de Cygwin en tapant:
            <pre>
cygcheck -c cygwin
            </pre>
          </li>
          <li>V&eacute;rifiez les versions des compilateurs, de <tt>make</tt>, et de <tt>gdb</tt> en tapant:
            <pre>
gcc --version
g++ --version
make --version
gdb --version
            </pre>
          </li>

        </ol>
        <p><b>Pour installer les compilateurs GNU, <tt>make</tt>, et le debugueur <tt>gdb</tt> depuis
        <a href="http://cygwin.com">cygwin.com</a>:</b></p>
        <ol>
          <li>T&eacute;l&eacute;charger le programme  <a href="http://www.cygwin.com/setup.exe">
            <tt>setup.exe</tt></a> de Cygwin en cliquant sur l'ic&ocirc;ne Install or Update Now!
            vers le milieu de la page.
          </li>

          <li>
            Lancez le programme <tt>setup.exe</tt>. Acceptez tout par defaut jusqu'&agrave; ce que vous atteigniez
            la page Select Your Internet Connection. Selectionnez l'option dans cette
            page qui est la meilleure pour vous. Cliquez Next.
          </li>
          <li>
            Sur la page Choose Download Site, choisissez le site de t&eacute;l&eacute;chargement que vous pensez &ecirc;tre le plus proche de
            vous. Cliquez Next.
          </li>
          <li>
            Sur la page Select Packages s&eacute;lectionnez les packages &agrave; t&eacute;l&eacute;charger. Cliquez
            le signe + proche de Devel pour &eacute;tendre la cat&eacute;gorie des outils de d&eacute;veloppement. Vous pourriez avoir
            &agrave; redimensionner la fen&ecirc;tre pour en voir plus en une fois.
          </li>

          <li>
            Selectionnez chaque package que vous voulez t&eacute;l&eacute;charger en cliquant Skip &agrave; cot&eacute; de lui.
            Au minimum, selectionnez gcc-core: C compiler,
            gcc-g++: C++ compiler, gdb: The GNU Debugger, et make: the GNU
            version of the 'make' utility.
          </li>
          <li>
            Maintenant ajouter le r&eacute;pertoire du compilateur &agrave; votre path:
            <br><br>
            <ol type="a">
              <li>Ouvrez le panneau de configuration (D&eacute;marrer &gt; Param&ecirc;tres &gt; Panneau de configuration) et
              double-cliquez sur le programme Syst&egrave;me.</li>

              <li>S&eacute;lectionnez l'onglet Avanc&eacute; and cliquez Variables d'environnement.</li>
              <li>Dans le panneau Variables syst&egrave;me de la boite de dialogue Variables d'environnement,
                selectionnez la variable <tt>Path</tt> et
              cliquez Modifier.</li>
              <li>Ajoutez le chemin vers le r&eacute;pertoire
                <tt><i>cygwin-directory</i>\bin</tt> &agrave; la variable <tt>Path</tt> , et
                cliquez OK. Par defaut, <tt><i>cygwin-directory</i></tt> est
              <tt>C:\cygwin</tt>. Les noms de r&eacute;pertoire doivent &ecirc;tre s&eacute;par&eacute;s par un point-virgule.</li>

              <li>Cliquez OK dans la boite de dialogue Variable d'environment puis dans la boite de dialogue
                Propri&eacute;t&eacute;s syst&egrave;me.
              </li>
            </ol>

          </li>
        </ol>
      </blockquote>
      <br><p align="center"><a href="#top">haut</a></p>
      <br>

      <!-- COMPILER SETUP: SOLARIS OS -------------------------------->

      <h3 style="color:#0E1B55"><a name="compilers_solaris"></a>Solaris OS</h3>
      <p>
      Le pack NetBeans C/C++ a &eacute;t&eacute; test&eacute; avec les compilateurs et outils suivants:
      <ul>
        <li>Sun Studio 12 C compiler 5.9 et gcc 3.4.3</li>
        <li>Sun Studio 12 C++ compiler 5.9 et g++ 3.4.3</li>
        <li>gdb (GNU debugger) 6.2.1</li>
        <li>Solaris make et gmake 3.80</li>
      </ul>
      <h4>Compilateurs Sun Studio 12</h4>
      <p>Si vous voulez utiliser les compilateurs Sun Studio 12:

        <ul>
          <li>Si vous avez d&eacute;j&agrave; install&eacute; le logiciel Sun Studio 12, soyez s&ucirc;r que le <tt>/<i>r&eacute;pertoire d'installation
            </i>/SUNWspro/bin</tt>
          est dans votre path avant de lancer l'EDI NetBeans.</li>
          <li>
            Si vous n'avez pas install&eacute; le logiciel Sun Studio 12, vous pouvez
            le t&eacute;l&eacute;charger gratuitement &agrave; <a href="http://developers.sun.com/sunstudio/downloads/">
            <tt>http://developers.sun.com/sunstudio/downloads/</tt></a>.
          </li>
        </ul>
      </p>
      <blockquote>

        <p><b>Pour t&eacute;l&eacute;charger et installer les compilateurs Sun Studio 12:</b></p>
        <ol>
          <li>Cr&eacute;ez un r&eacute;pertoire pour le fichier &agrave; t&eacute;l&eacute;charger.
          Vous devez avoir les droits en &eacute;criture sur ce r&eacute;pertoire.</li>
          <li>
            T&eacute;l&eacute;chargez le fichier pour votre platforme dans le r&eacute;pertoire de t&eacute;l&eacute;chargement.
          </li>
          <li>Allez dans  le r&eacute;pertoire de t&eacute;l&eacute;chargement, et decompressez le fichier t&eacute;l&eacute;charg&eacute;.
            <pre>
bzcat <i>nomfichier</i> | tar xvf -
            </pre>
          </li>
          <!--
<li>
Become superuser (root). Run the installer in the download directory by typing:
<pre>
./installer
</pre>
</li>
<br>
<li>Click Next on the Welcome page, and accept the Software License Agreement
and click Next.
</li>
<li>On the Select Components page of the installer, select Custom Install for
Sun Studio Software. Select Default Install for Solaris Patches. Select No Install for
Documentation, Source Distribution, and Sun Performance Library.
</li>
<li>On the Select Install Directory page, if you want to install the compilers
in the default installation directory <tt>/opt</tt>, click Next. If you want to
install the compilers in a different directory, type the path in the text field
and click Next.</li>
<li>On the Select Subcomponents page, select Compilers C and
Compilers C++, and click Next.
</li>
<li>On the Ready to Install page, verify that the disk space shown is available
on your system, and that the C compiler, C++ compiler, and Solaris patches are
listed. Then click Install Now.
</li>
<li>When installation is complete, proceed through the Installation Summary
page, the Registration page, and the After Installation page, and click Exit to
exit the installer.
</li>
-->

          <li>Suivez les instructions du guide <a
              href="http://docs.sun.com/app/docs/doc/820-2971/gemyi?a=view">Chapter 2 of the <i>Sun
              Studio 12 Quick Installation (English, Japanese, Simplified Chinese)</i>
            </a> pour installer le compilateur C, le compilateur C++,
          et les patchs requis par Solaris.</li>
        </ol>
      </blockquote>
      <p>Ajouter le chemin du logiciel Sun Studio &agrave; votre <tt>PATH</tt> avant de lancer l'EDI NetBeans.
      </p>

      <h4>Les compilateurs GNU et GNU <tt>make</tt></h4>

      <p>
      Si vous voulez utiliser les compilateurs GNU et GNU <tt>make</tt>:
      <ul>
        <li>Si vous avez une installation standard de Solaris 10 OS, les compilateurs et
          <tt>gmake</tt> sont install&eacute;s dans <tt>/usr/sfw/bin</tt>. Soyez s&ucirc;r que ce chemin
        est dans votre path avant de lancer l'EDI NetBeans.</li>
        <li>Si les compilateurs et <tt>gmake</tt> ne sont pas install&eacute;s sur votre syst&egrave;me, vous pouvez les t&eacute;l&eacute;charger depuis
          <a
          href="http://www.sunfreeware.com"><tt>http://www.sunfreeware.com</tt></a>.</li>

      </ul>
      <blockquote>
        <p><b>Pour t&eacute;l&eacute;charger et installer les compilateurs GNU et make</b></p>
        <ol>
          <li>T&eacute;l&eacute;charger gcc 3.4.6 et make 3.81.</li>
          <li>Si les fichiers zip files ne sont pas automatiquement d&eacute;compress&eacute;s
            pendant le t&eacute;l&eacute;chargement, d&eacute;compressez les avec <tt>gunzip</tt>.
          </li>
          <li>Installez les packages avec la commande <tt>pkgadd</tt>.</li>
        </ol>

      </blockquote>
      <p>Soyez s&ucirc;r d'inclure le r&eacute;pertoire du compilateur GNU et le r&eacute;pertoire de GNU make
        dans votre path avant de lancer l'EDI NetBeans.
      </p>

      <h3>Le debugueur <tt>gdb</tt></h3>
      <p>Que vous utilisiez les compilateurs Sun Studio et le <tt>make</tt> de Solaris ou
        les compilateurs GNU et GNU <tt>make</tt>, vous devez avoir le debugueur <tt>gbd</tt> pour
        debuguer les applications dans le pack de d&eacute;velopement NetBeans C/C++.
        Vous pouvez t&eacute;l&eacute;charger <tt>gdb</tt> 6.2.1 depuis

        <a href="ftp://ftp.gnu.org/gnu/gdb/"><tt>ftp://ftp.gnu.org/gnu/gdb/</tt></a>.
      </p>
      <blockquote>
        <p><b>Pour t&eacute;l&eacute;charger et installer <tt>gdb</tt>:</b></p>
        <ol>
          <li>Sous "Select a Download" au bas de la page, selectionnez le t&eacute;l&eacute;chargement Solaris 10
          Companion Software pour votre plateforme Solaris.</li>
          <li>Sur la page de t&eacute;l&eacute;chargement, acceptez les termes de la licence et selectionnez le package
            <tt>gbd - GNU source level debugger</tt>.
          </li>
          <li>Vous devez &ecirc;tre root (superuser).

          </li>
          <li>D&eacute;compressez le fichier avec <tt>binzip</tt> et installez <tt>gbd</tt> avec
            <tt>pkgadd</tt>:
            <pre>
bunzip2 SFWgdb.bz2
pkgadd -d SFWgbd
            </pre>
          </li>
        </ol>
      </blockquote>
      <p>Soyez s&ucirc;r d'inclure le chemin de <tt>gdb</tt> dans votre path avant de lancer
      l'EDI NetBeans.</p>

      <br><p align="center"><a href="#top">haut</a></p>
      <br>
      <!-- COMPILER SETUP: LINUX OS -------------------------------->
      <h3 style="color:#0E1B55"><a name="compilers_linux"></a>Linux</h3>
      <p>
        Le pack NetBeans C/C++ a &eacute;t&eacute; test&eacute; avec les compilateurs et outils suivants:
        <ul>
          <li>Sun Studio 12 C compiler, Red Hat Fedora Core 3 gcc, et Ubuntu 6.10 et 7.04 gcc</li>
          <li>Sun Studio 12 C++ compiler, Red Hat Fedora Core 3 g++, et Ubuntu 6.10 et 7.04 g++</li>
          <li>Red Hat Fedora Core 3 gdb et Ubuntu 6.10 et 7.04 gbd</li>
          <li>Red Hat Fedora Core make et Ubuntu 6.10 et 7.04 make</li>

        </ul>
      </p>
      <blockquote>
        <p><b>Pour t&eacute;l&eacute;charger et installer les compilateurs Sun Studio 12:</b></p>
        <ol>
          <li>Cr&eacute;ez un r&eacute;pertoire pour le fichier &agrave; t&eacute;l&eacute;charger.
          Vous devez avoir les droits en &eacute;criture sur ce r&eacute;pertoire.</li>
          <li>
            T&eacute;l&eacute;chargez le fichier pour votre platforme dans le r&eacute;pertoire de t&eacute;l&eacute;chargement.
          </li>
          <li>Allez dans  le r&eacute;pertoire de t&eacute;l&eacute;chargement, et decompressez le fichier t&eacute;l&eacute;charg&eacute;.
            <pre>
bzcat <i>nomfichier</i> | tar xvf -

            </pre>
          </li>
          <li>Suivez les instructions du guide <a
              href="http://docs.sun.com/app/docs/doc/820-2971/gemyi?a=view">Chapter 2 of the <i>Sun
            Studio 12 Quick Installation (English, Japanese, Simplified Chinese)</i></a> pour installer le compilateur C,
            le compilateur C++,
          et les patches necessaires.</li>
        </ol>
      </blockquote>
      <p>Ajouter le chemin du logiciel Sun Studio &agrave; votre <tt>PATH</tt> avant
        de lancer l'EDI NetBeans.
      </p>

      <br><p align="center"><a href="#top">haut</a></p>
      <br>
      <!-- COMPILER SETUP: MAC OS X ---------------------------------->
      <h3 style="color:#0E1B55"><a name="compilers_mac"></a>Macintosh OS X</h3>
      <p>
      Le pack NetBeans C/C++ a &eacute;t&eacute; test&eacute; avec les compilateurs et outils suivants:
      <ul>
        <li>gcc 4.0.1 compilers</li>
        <li>gdb (GNU debugger) 6.1</li>
      </ul>
      <p>Installer les packages suivants qui sont fournis avec Macintosh OS X:
      <ul>

        <li>Xcode</li>
        <li>X11</li>
      </ul>
    </blockquote>

    <br>
    <p align="center"><a href="#top">haut</a></p>
    <br><!-- VERIFYING THE INSTALLATION ------------------------------------------>
    <h2><a name="verifying">V&eacute;rification de l'installation</a></h2>
    <p>Pour v&eacute;rifier que l'installation est correcte, lancez l'EDI NetBeans,
    construisez un projet exemple, et lancez le dans le debugueur <tt>gdb</tt>.</p>

    <blockquote>
      <h3 style="color:#0E1B55"><a name="verify_windows">Windows</a></h3>
      <p><b>Pour d&eacute;marrer l'EDI sur une machine Microsoft Windows, faites une des choses suivantes:</b></p>
      <ul>
        <li>Double-cliquez l'ic&ocirc;ne de l'IDE NetBeans sur votre bureau.</li>
        <li>Depuis le menu D&eacute;marrer, selectionnez Programmes &gt; NetBeans 6.0 &gt; NetBeans
        IDE.</li>
      </ul>
      <p><b>Pour construire un projet exemple et le lancer dans le debugueur:</b>

      <ol>
        <li>Ouvrez l'assistant New Project en choisissant File &gt; New Project.</li>
        <li>Dans le panneau Categories, sur la page Choose Project de l'assistant, &eacute;tendez la cat&eacute;gorie Samples
          et la sous-cat&eacute;gorie C/C++ Development
        , et selectionnez la sous-cat&eacute;gorie C/C++.</li>
        <li>Dans le panneau Projects, selectionnez le projet <tt>Welcome</tt>. Cliquez Next.
        </li>
        <li>Sur la page Project Name and Location, cliquez Finish.
        </li>
        <li>Dans l'onglet Projects de l'EDI, clic-droit sur le projet <tt>Welcome_1</tt> et
          choisissez Build Project. Si vos compilateurs et l'utilitaire <tt>make</tt> sont
          correctements install&eacute;s et que le path est configur&eacute;, la sortie de la construction est affich&eacute;e dans
          la fen&ecirc;tre Output et le projet est construit avec succ&egrave;s.

        </li>
        <li>Double-cliquez le fichier <tt>welcome.cc</tt> pour l'ouvrir dans l'&eacute;diteur de source.
        </li>
        <li>Clic-droit dans la marge de gauche de la fen&ecirc;tre de l'&eacute;diteur de source et choisissez
          Show Line Numbers.
        </li>
        <li>Mettez un point d'arr&ecirc;t en cliquant dans la marge de gauche de la fen&ecirc;tre de l'&eacute;diteur de source
          &agrave; cot&eacute; de la ligne 33.
        </li>
        <br>
        <li>Clic-droit sur le projet and choisissez Debug Project. Si le debugueur <tt>gdb</tt>
          est correctement install&eacute; et que son path est configur&eacute;, <tt>gdb</tt> d&eacute;marre, les onglets du debugueur sont affich&eacute;s, et le programme <tt>Welcome</tt>
          se lance et s'arrete au point d'arr&ecirc;t.

        </li>
        <li>Choisissez Run &gt; Continue pour relancer le programme jusqu'&agrave; son terme.
        </li>
      </ol>
      <br><p align="center"><a href="#top">haut</a></p>
      <br><h3 style="color:#0E1B55"><a name="verify_solaris">Solaris OS</a></h3>


      <p><b>Pour d&eacute;marrer l'EDI NetBeans sur un syst&egrave;me Solaris:</b></p>
      <ol>
        <li>Naviger jusqu'au sous-r&eacute;pertoire <tt>bin</tt> de votre installation. </li>

        <li>Executer le lanceur de script en tapant <tt>./netbeans</tt>.
      </ol>
      <p><b>Pour construire un projet exemple et le lancer dans le debugueur:</b>
      <ol>
        <li>Ouvrez l'assistant New Project en choisissant File &gt; New Project.</li>
        <li>Dans le panneau Categories, sur la page Choose Project de l'assistant, &eacute;tendez la cat&eacute;gorie Samples
          et la sous-cat&eacute;gorie C/C++ Development
        , et selectionnez la sous-cat&eacute;gorie C/C++.</li>
        <li>Dans le panneau Projects, selectionnez le projet <tt>Welcome</tt>. Cliquez Next.

        </li>
        <li>Sur la page Project Name and Location, cliquez Finish.
        </li>
        <li>Dans l'onglet Projects de l'EDI, clic-droit sur le projet <tt>Welcome_1</tt>
          et choisissez Properties.
        </li>
        <li>Dans la boite de dialogue Project Properties, positionnez la propri&eacute;t&eacute; Compiler Collection
          &agrave; la collection de compilateur que vous voulez valider et cliquez OK.
        </li>
        <li>Dans l'onglet Projects de l'EDI, clic-droit sur le projet et
          choisissez Build Project. Si vos compilateurs et l'utilitaire <tt>make</tt> sont
          correctements install&eacute;s et que le path est configur&eacute;, la sortie de la construction est affich&eacute;e dans
          la fen&ecirc;tre Output et le projet est construit avec succ&egrave;s.
        </li>
        <li>cliquez le fichier <tt>welcome.cc</tt> pour l'ouvrir dans l'&eacute;diteur de source.
        </li>

        <li>Clic-droit dans la marge de gauche de la fen&ecirc;tre de l'&eacute;diteur de source et choisissez
          Show Line Numbers.
        </li>
        <li>Mettez un point d'arr&ecirc;t en cliquant dans la marge de gauche de la fen&ecirc;tre de l'&eacute;diteur de source
          &agrave; cot&eacute; de la ligne 33.
        </li>
        <li>Clic-droit sur le projet and choisissez Debug Project. Si le debugueur <tt>gdb</tt>
          est correctement install&eacute; et que son path est configur&eacute;, <tt>gdb</tt> d&eacute;marre, les onglets du debugueur sont affich&eacute;s, et le programme <tt>Welcome</tt>
          se lance et s'arrete au point d'arr&ecirc;t.
        </li>
        <li>Choisissez Run &gt; Continue pour relancer le programme jusqu'&agrave; son terme.

        </li>
      </ol>
      <br><p align="center"><a href="#top">haut</a></p>
      <br>
      <h3 style="color:#0E1B55"><a name="verify_linux">Linux</a></h3>
      <p><b>Pour d&eacute;marrer l'EDI NetBeans sur un syst&egrave;me Linux:</b></p>
      <ol>
        <li>Naviger jusqu'au sous-r&eacute;pertoire <tt>bin</tt> de votre installation. </li>
        <li>Executer le lanceur de script en tapant <tt>./netbeans</tt>.

      </ol>
      <p><b>Pour construire un projet exemple et le lancer dans le debugueur:</b>
      <ol>
        <li>Ouvrez l'assistant New Project en choisissant File &gt; New Project.</li>
        <li>Dans le panneau Categories, sur la page Choose Project de l'assistant, &eacute;tendez la cat&eacute;gorie Samples
          et la sous-cat&eacute;gorie C/C++ Development
        , et selectionnez la sous-cat&eacute;gorie C/C++.</li>
        <li>Dans le panneau Projects, selectionnez le projet <tt>Welcome</tt>. Cliquez Next.
        </li>
        <li>Sur la page Project Name and Location, cliquez Finish.
        </li>

        <li>Dans l'onglet Projects de l'IDE, clic-droit sur le projet <tt>Welcome_1</tt>
          et choisissez Properties.
        </li>
        <li>Dans la boite de dialogue Project Properties, positionnez la propri&eacute;t&eacute; Compiler Collection
          &agrave; la collection de compilateur que vous voulez valider et cliquez OK.
        </li>
        <li>Dans l'onglet Projects de l'EDI, clic-droit sur le projet et
          choisissez Build Project. Si vos compilateurs et l'utilitaire <tt>make</tt> sont
          correctements install&eacute;s et que le path est configur&eacute;, la sortie de la construction est affich&eacute;e dans
          la fen&ecirc;tre Output et le projet est construit avec succ&egrave;s.
        </li>
        <li>Double-cliquez le fichier <tt>welcome.cc</tt> pour l'ouvrir dans l'&eacute;diteur de source.
        </li>

        <li>Clic-droit dans la marge de gauche de la fen&ecirc;tre de l'&eacute;diteur de source et choisissez
          Show Line Numbers.
        </li>
        <li>Mettez un point d'arr&ecirc;t en cliquant dans la marge de gauche de la fen&ecirc;tre de l'&eacute;diteur de source
          &agrave; cot&eacute; de la ligne 33.
        </li>
        <li>Clic-droit sur le projet and choisissez Debug Project. Si le debugueur <tt>gdb</tt>
          est correctement install&eacute; et que son path est configur&eacute;, <tt>gdb</tt> d&eacute;marre, les onglets du debugueur sont affich&eacute;s, et le programme <tt>Welcome</tt>
          se lance et s'arrete au point d'arr&ecirc;t.
        </li>
        <li>Choisissez Run &gt; Continue pour relancer le programme jusqu'&agrave; son terme.

      </ol>
      <br><p align="center"><a href="#top">haut</a></p>
      <br>
      <h3 style="color:#0E1B55"><a name="verify_mac">Mac OS X</a></h3>
      <p><b>Pour d&eacute;marrer l'EDI NetBeans sur une machine Macintosh,
        double-cliquez l'ic&ocirc;ne NetBeans sur votre bureau.<br>
      Pour construire un projet exemple et le lancer dans le debugueur:</b>
      <ol>
        <li>Ouvrez l'assistant New Project en choisissant File &gt; New Project.</li>
        <li>Dans le panneau Categories, sur la page Choose Project de l'assistant, &eacute;tendez la cat&eacute;gorie Samples
          et la sous-cat&eacute;gorie C/C++ Development
        , et selectionnez la sous-cat&eacute;gorie C/C++.</li>

        <li>Dans le panneau Projects, selectionnez le projet <tt>Welcome</tt>. Cliquez Next.
        </li>
        <li>Sur la page Project Name and Location, cliquez Finish.
        </li>
        <li>Dans l'onglet Projects de l'EDI, clic-droit sur le projet et
          choisissez Build Project. Si vos compilateurs et l'utilitaire <tt>make</tt> sont
          correctements install&eacute;s et que le path est configur&eacute;, la sortie de la construction est affich&eacute;e dans
          la fen&ecirc;tre Output et le projet est construit avec succ&egrave;s.
        </li>
        <li>Double-cliquez le fichier <tt>welcome.cc</tt> pour l'ouvrir dans l'&eacute;diteur de source.
        </li>

        <li>Clic-droit sur le projet et choisissez Debug Project. Si le debugueur <tt>gdb</tt>
          est correctement install&eacute; et que le path est configur&eacute;, <tt>gdb</tt> d&eacute;marre
          et les onglets du debugueur sont affich&eacute;s.
        </li>
      </ol>
    </blockquote>
    <br><p align="center"><a href="#top">haut</a></p>
    <!-- NEXT STEPS -->
    <br>
    <h2>Les prochains pas</h2>
    <p>Pour apprendre rapidement comment d&eacute;velopper une application C ou C++ avec l'EDI NetBeans
      , voir <a href="../../../kb/61/cnd/projects-quick-start.html">
      Tutoriel D&eacute;marrage rapide de projets C/C++</a>

    </p>
  </body>
</html>
