How to build EXEs

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.

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.

Under ARM targets, the C++ source is compiled using a native compiler, and then linked into a .exe in the release directory. You may then transfer the program to the target machine and execute it.

mmp project specification

For an EXE target, only a minimum of essential information need be specified:

  • Specify the TARGETTYPE line as:

    TARGETTYPE    exe
  • Specify the UID as zero in a UID line:

    UID   0

    EXEs do not strictly speaking need a UID value. However specifying zero suppresses a build tools warning.

An example of the project file for a console program is given below

TARGET        HelloWorld.exe
TARGETTYPE    exe
UID           0
SOURCEPATH    .
SOURCE        HelloWorld.cpp
USERINCLUDE   .
USERINCLUDE   ..\CommonFramework
SYSTEMINCLUDE \Epoc32\include
LIBRARY       euser.lib