Creating a Subproject (Windows Embedded CE 6.0)
1/6/2010
After you create an operating system (OS) design, you can modify it by adding or removing projects. A project is a collection of files whose functions implement Catalog item functionality in a Windows Embedded CE 6.0 OS.
An OS design contains all files that make up a run-time image, including subprojects that you add. All subprojects must be associated with an OS design that is later used to build a run-time image.
In Platform Builder for Windows Embedded CE 6.0, you can use the CE 6.0 Subproject Wizard to create a subproject, which is given an associated Platform Builder project (.pbpxml) file name extension. A .pbpxml file is an XML file that serves as a thin layer extension for information that is contained in the associated sources files about a subproject.
In CE 6.0, information about subprojects, including source code file names and locations, is contained in sources and dirs files. For information about these file types, see Sources File and Dirs File.
This system lets the user define specific build settings in the IDE while maintaining the functionality of the IDE as a thin client for the underlying build system.
Types of Subprojects
You can create the following types of subprojects in Platform Builder, and specify whether they are created in an OS design, or in the OS tree:
- Applications
- Dynamic-link libraries (DLLs)
- Static libraries
- Transport layers
Development Frameworks
For the Windows Embedded CE OS, you can use Platform Builder to use one of the following development frameworks in your subproject:
- Component Object Model (COM)
- Active Template Library (ATL) 8.0 for Windows Embedded CE
- .NET Compact Framework 2.0
Samples, header files, and library files are in the %_WINCEROOT%\Others\DOTNETV2 and %_WINCEROOT%\Others\ATL8 directories. Make sure that you include support for these development frameworks in your OS design. Catalog items for these frameworks are located in the Catalog under CEBASE\Applications and Services Development.
After these subprojects are created, you can use Platform Builder to add them to your OS design.
Overview of Subproject Creation
When you create a subproject by using the Windows Embedded CE Subproject Wizard, you must select a specific subproject type and specify whether it is created in the %PBWORKSPACEROOT directory or in the %_PUBLICROOT directory.
The options that are provided by the wizard vary, depending on the type of subproject you create.
If you create a subproject in %PBWORKSPACEROOT, the subproject is built only in the context of that specific OS design. This is the only difference between these subprojects and subprojects that are created in %_PUBLICROOT.
Subprojects created in %_PUBLICROOT do not depend on OS designs. Therefore, these subprojects are built every time that the part of the OS tree they are in undergoes a build.
The following table shows the available subproject types.
Subproject type | Description |
---|---|
WCE Application |
One of the following types:
|
WCE Console Application |
An application that runs in a console window. |
WCE Dynamic-Link Library |
One of the following types:
|
WCE Static Library |
A Windows Embedded CE static library. |
WCE Transport Layer |
A subproject for a device-side transport layer. To export a custom SDK, create a custom transport layer. This subproject also provides the source code for a host-side subproject. |
WCE Tux Dynamic-Link Library |
A framework for a module that defines a test for the Windows Embedded CE Test Kit (CETK). The Tux test harness for the CETK executes this module to add the functionality of the test to the CETK. |
WCE DIRS Subproject |
A Windows Embedded CE dirs file. You cannot associate this type with an OS design. |
Subproject Source Files
For most subprojects that you create by using the wizard, the wizard generates a set of source files that implement the basic functionality of your subproject when they are compiled. These files include the following:
- Source and header files for your subproject
- A text file that describes the contents of the starter files
- Sources files that describe the files in your subproject
The wizard does not generate source files if you create the following items:
- An empty Windows Embedded CE–based application
- An empty DLL
- A Common Object File Format (COFF) file that has a .lib file name extension and does not contain a precompiled header (.pch) file
- A dirs file
During subproject creation, the wizard provides options for customizing the source files.
After subproject creation, you can view the subproject files in Solution Explorer by expanding Subprojects.
Overview of the Subproject Build Process
With Platform Builder, you can build selected subprojects. Because builds occur in the background, you can continue to use Platform Builder during a build.
Note
Some menu commands and toolbar buttons are unavailable during a build.
Before you build a subproject, you choose the active OS design, which determines which set of build options is used. For example, the selected build options in a release configuration differ from the options selected in a debugging configuration.
For information about build options that you can select, see Build Menu Options.
If, while it is building a subproject, Platform Builder determines that the headers are outdated, a dialog box appears that displays the following three options:
- Building the subproject with headers regenerated
- Building the subproject without regenerating the headers
- Canceling the build process
Information about the build appears on the Output tab of the Output window in the IDE. The tab displays information from the build tools and lists errors or warnings that occurred during the build.
If there is no activity on the Output tab, you can monitor the status from the status bar, which displays the Building icon during the build.
If the tab reports no errors, the build is successfully completed.
If the tab reports errors, you might have to perform debugging after the build is complete.
When the build process is complete, Platform Builder notifies you with a beep. If you have a sound card installed, you can use the Sounds icon in Control Panel to assign different sounds to three standard system events, shown in the following table.
System event | Description |
---|---|
Build Complete |
The build completed without errors or warnings. |
Build Warning |
The build completed with warnings. |
Build Error |
The build completed with errors. |
Error in Output |
An error has occurred in the build. |
Warning in Output |
A warning has occurred in the output. |
In This Section
- Creating a New Subproject
Describes how to create a subproject and add it to your OS design.
- Using Managed Code in a Subproject
Describes how to use managed code, which targets the common language runtime, in a subproject.
- Preparing to Build a Subproject
Describes how to prepare to build a subproject after you have created a subproject in an OS design.
- Configuring Subproject Build Order
Describes how to configure the order that your subprojects are built in.
Related Sections
- Building a Subproject
Describes how to build a subproject by using the Platform Builder IDE.
- Building a Selected Subproject
Describes how to build a specific subproject independently of the OS design and of other subprojects in the OS design.
- Building Multiple Subprojects
Describes how to build multiple subprojects consecutively by using the Platform Builder IDE.
See Also
Concepts
Subprojects
Modifying an OS Design