<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <html lang="en"> <head> <meta http-equiv="Content-Language" content="en-us"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>CDT projects</title> <link rel="stylesheet" type="text/css" href="../help.css"> </head> <body> <h1>CDT projects</h1> <p>Before you can work in the CDT, you must create a project to store your source code, makefiles, binaries, and related files. C/C++ projects are displayed in the C/C++ Projects view.</p> <p><b>Tip:</b> Nested projects are not supported. Each project must be organized as a discrete entity. Project dependencies are supported by allowing a project to reference other projects that reside in your workspace. For more information, see <a href="../tasks/cdt_t_proj_ref.htm">Selecting referenced projects</a>.</p> <p>For more information about projects and where they are stored, see:</p> <ul> <li> <b>Workbench User Guide > Tasks > Resources</b></li> <li> <b>Workbench User Guide > Tasks > Running Eclipse</b></li> </ul> <h2>Project types</h2> <p>You can create a standard make C or C++ project or a managed make C or C++ project.</p> <h3>Standard make C or C++ project</h3> <p>You need to create a makefile in order to build your project or use an existing makefile.</p> <h3>Managed make C or C++ project</h3> <p>A managed make project generates the makefile for you automatically. In addition, the files module.dep and module.mk are created for every project sub-directory. These files are required for your managed make projects to build successfully.</p> <h3>How the CDT associates project natures</h3> <p>Projects are assigned natures and tags that identify the properties of each project. The CDT uses natures to identify what can and cannot be done with each project. The CDT also uses natures to filter projects that are contextually irrelevant; for example, non-library projects from a list of library projects.</p> <table border="1" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="56%"> <tr> <th align="left" width="63%">Project</td> <th align="left" width="37%">Associated natures</td> </tr> <tr> <td width="63%">Standard Make C Project</td> <td width="37%">C, make</td> </tr> <tr> <td width="63%">Managed Make C Project</td> <td width="37%">C, gen make</td> </tr> <tr> <td width="63%">Standard Make C++ Project</td> <td width="37%">C, C++</td> </tr> <tr> <td width="63%">Managed Make C++ Project</td> <td width="37%">C, C++</td> </tr> </table> <h2>Project conversion</h2> <p>You can convert projects can be converted from C to C++ (or from C++ to C). If, for example, your requirements change and you must convert an existing C project to C++, you can do this without recreating the project. The CDT converts your project files and resolves any source control issues.</p> <h2>A few notes about projects</h2> <ul> <li>When you create a file within a project, a record (local history) of every change is created. For more information about local history, see <b>Workbench User Guide > Reference > User interface information > Development environment > Local history</b>.</li> <li>Spaces in projects and filenames can cause problems with some tools, such as the make utility or the compiler.</li> <li>Be careful when you use only case to distinguish files and projects. UNIX-based operating system file names are case sensitive, but Windows filenames are not. Therefore, Hello.c and hello.c are separate files in UNIX but overwrite each other in Windows.</li> </ul> <p>For more information about projects, see <b>Workbench User Guide > Concepts > Workbench > Resources</b>.</p> <p><img border="0" src="../images/ngconcepts.gif" ALT="Related concepts" width="143" height="21"> <br> <a href="cdt_c_proj_file_views.htm">Project file views</a><br> <a href="../getting_started/cdt_w_existing_code.htm">How to bring C/C++ source into Eclipse</a></p> <p><img border="0" src="../images/ngtasks.gif" ALT="Related tasks" width="143" height="21"> <br> <a href="../tasks/cdt_o_proj_prop.htm">Defining project properties</a><br> <a href="../tasks/cdt_o_proj_files.htm">Working with C/C++ project files</a></p> <p><img border="0" src="../images/ngref.gif" ALT="Related reference" width="143" height="21"> <br> <a href="../reference/cdt_o_proj_prop_pages.htm">Project properties</a><br> <a href="../reference/cdt_o_views.htm">Views</a></p> <img src="../images/ng03_04.gif" ALT="IBM Copyright Statement" BORDER=0 width="324" height="14"> </body> </html>