Week 23 contribution of PDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
<!-- This component and the accompanying materials are made available under the terms of the License
"Eclipse Public License v1.0" which accompanies this distribution,
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
<!-- Initial Contributors:
Nokia Corporation - initial contribution.
Contributors:
-->
<!DOCTYPE concept
PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
<concept id="GUID-12D8C373-5199-5B89-9910-00F769AC164A" xml:lang="en"><title>How
to build EXEs</title><prolog><metadata><keywords/></metadata></prolog><conbody>
<p>An .EXE program typically has a single executable component. Unlike GUI
application targets there is no application information file, and in most
cases a resource file will not be needed.</p>
<p>Under WINS/WINSCW, the C++ source is compiled to object files in the build
directory; these are then linked, together with standard libraries, into the
release directory. You may run the program directly from the release directory.</p>
<p>Under ARM targets, the C++ source is compiled using a native compiler,
and then linked into a <filepath>.exe</filepath> in the release directory.
You may then transfer the program to the target machine and execute it.</p>
<section><title>mmp project specification</title><p>For an EXE
target, only a minimum of essential information need be specified:</p><ul>
<li id="GUID-A0E2ED12-C5F4-5F6D-BDBB-B3B87B09F502"><p>Specify the <codeph>TARGETTYPE</codeph> line
as:</p> <codeblock id="GUID-02CE2D53-6886-5263-812D-BCD24186C3DE" xml:space="preserve">TARGETTYPE exe</codeblock> </li>
<li id="GUID-2FFB1967-3C8D-5235-89D0-6D8D5971F54E"><p>Specify the <codeph>UID</codeph> as
zero in a <codeph>UID</codeph> line:</p> <codeblock id="GUID-F813D71D-300B-5C3C-80DC-08F136A1F7F3" xml:space="preserve">UID 0</codeblock> <p>EXEs
do not strictly speaking need a UID value. However specifying zero suppresses
a build tools warning.</p> </li>
</ul></section>
<example><p>An example of the project file for a console program is given
below</p><codeblock id="GUID-05B15418-43DB-5192-9B93-042B08499724" xml:space="preserve">TARGET HelloWorld.exe
TARGETTYPE exe
UID 0
SOURCEPATH .
SOURCE HelloWorld.cpp
USERINCLUDE .
USERINCLUDE ..\CommonFramework
SYSTEMINCLUDE \Epoc32\include
LIBRARY euser.lib</codeblock></example>
</conbody></concept>