Building Windows CE

A collection of posts about controlling the build process for Windows CE using Platform Builder
Platform Builder: Cannot open include file: 'windows.h': No such file or directory
The following is unique to Platform Builder, and applies to any version. The problem is that when building a driver, BSP or sub-project, the compiler fails with the error message “Cannot open include file: 'windows.h': No such file or directory.” There are probably many ways to cause this error. Many of these are simple user error, like accidently deleting or moving windows.h. But let’s focus on the most likely problems that can cause this. 1. The most common cause that I have run into is that the ......

Posted On Friday, January 23, 2009 12:23 PM | Comments (0)

Platform Builder: Sources.cmn
Sources.cmn is a build configuration system file that allows you to set common variables. This can be useful if more than one directory in the build tree need the a variable set to the same value because it can reduce your maintenance efforts. Each build tree can use one sources.cmn file. When build.exe runs, it will determine the root of the build tree by looking for the top most folder with a Dirs file. Build.exe then sets BUILDROOT to the top most folder with a Dirs files. Makefile.def in Public\Common\OAK\Misc ......

Posted On Saturday, August 23, 2008 10:56 PM | Comments (4)

Using a batch file to automatically build a Windows CE 5.0 and 6.0 project
Automating a build of Windows CE starts with answering the question "How do I set up a command line build?" Of course there are ways to do this that require human intervention, but that doesn't automate very well. There are ways to write code to use Platform Builder itself, but I only know a couple of engineers who have tried that, and they have struggled. The following is a little batch file that will setup a Platform Builder 5.0 build environment and build the project: @ECHO on set __PROJECTNAME__=MyWorkspace ......

Posted On Wednesday, May 7, 2008 2:38 PM | Comments (27)

Platform Builder: PBWorkspaces CESysgen.bat Not Used?
One of the things that I like about Windows CE is that I am always learning new things, but in this case it is a bit disturbing. We working with Multi UI (MUI) this week and discovered some problems with Windows CE 5.0 and Chinese language support. These problems don’t exist in CE 6.0. The problem was that in the batch files in Public\CEBASE\oak\misc, specifically weceshellfe.bat, some of the shell components needed are only included if certain LOCALs are selected. English is not one of them, I suppose ......

Posted On Sunday, May 2, 2010 9:54 PM | Comments (0)

Platform Builder: Cloning – the Linker is your Friend
I was tasked this week with making a minor change to NetMsgBox() behavior. NetMsgBox() is a little function in NETUI that handles MessageBox() for the Network User Interface. The obvious solution is to clone the entire NETUI directory from Public\Common\Oak\Drivers (see Platform Builder: Clone Public Code for more on cloning). If you haven’t already, take a minute to look in that folder. There are a lot of files in the folder, but I only needed to modify one function in one of those files. There ......

Posted On Tuesday, March 23, 2010 9:11 PM | Comments (2)

Platform Builder: Building Cloned Code from Multiple OS Versions
My career goal is to delete more code than I write, and so far I have been fairly successful. But of course once in a while I need to clone code from the public tree which is contrary to my goal. Usually what follows is a new OS release. To help reach my goal, my team uses the same BSP code for multiple versions of the OS. That means that we need to handle the cloned code so that the correct code builds for the OS version that we are working on. To handle this we could use SKIPBUILD in the sources ......

Posted On Monday, March 22, 2010 9:44 PM | Comments (0)

Platform Builder: Cloning an MDD Lib
I have written about cloning code from the Public tree to a platform in the past, but someone recently asked about cloning an MDD lib build directory. More specifically the question was about cloning ufnmdd.lib in Windows CE 5.0, which is actually created by linking three separate libs together. In this article, I will walk through the process by cloning one of those libs. Ufnmdd.lib is created by linking ufnmddbase.lib, ceosutil.lib and defbuslib.lib. I suspect that most people don’t really need ......

Posted On Thursday, August 21, 2008 12:10 AM | Comments (2)

Platform Builder: Sources Files
Earlier I posted about dirs files and stated that dirs files are the direction signs for build.exe. Sources files are the destinations. When build.exe finds a sources file, it stops and runs nmake to build the source code in the directory. Sources files set environment variables that are then used by nmake when interpreting the makefile. Of course if you have looked at the makefiles, you see that they typically only include the makefile.def in Public\Common\Oak\Misc. Setting variables in a sources ......

Posted On Monday, August 4, 2008 8:48 PM | Comments (9)

Platform Builder: Building an API and Releasing it to an SDK
A colleague asked me how GPSAPI.lib is built and makes it into the SDK. So we found ourselves in a long discussion which included a massive flow diagram on a whiteboard. In this article, I am going to try to reproduce what we ended up with on the whiteboard, but frankly on the whiteboard it was easier to draw. My colleague had tried to build GPSAPI by opening a build window and running build in the GPSAPI folder. What he did was: In doing so, he built some source code in the public tree, and the ......

Posted On Monday, March 1, 2010 1:47 PM | Comments (2)

Platform Builder: Cleaning Non-Standard Files
During today’s chat with Microsoft’s Windows CE Team, someone asked “is there a way to put additional items to the clean target without modifying makefile.def?” So I decided to see if I could come up with a way. It can’t be done using a sources file. Sources files are only used to set environment variable prior to nmake being called and we need a target named “clean” to handle cleaning the additional files. That leaves makefile.inc and makefile. I tried it in makefile.inc with a WINCETARGETFILES ......

Posted On Tuesday, November 24, 2009 1:34 PM | Comments (0)

Platform Builder: makeimg: FATAL ERROR: Out of buffer space
Here is an interesting makeimg error: makeimg: FATAL ERROR: Out of buffer space. Seems that if the folder path for the _FLATRELEASEDIR is too long, makeimg fails with this cryptic error. I to reproduce this error I changed my release folder from: C:\WINCE500\PBWorkspaces\xx... \xxxxxxxx_ARMV4I_Release To C:\WINCE500\PBWorkspaces\xx... And it failed. Notice the two folders named FolderWithLongNameToTryToCa... ......

Posted On Wednesday, June 17, 2009 10:18 PM | Comments (0)

Platform Builder: Building Code in the 3rdParty Folder
Download the catalog files: Download Custom Shell Catalog Files During the Windows CE Chat a couple of weeks ago someone asked about customizing the Explorer shell. Feeling generous that day, and because it was nearing the end of the chat, I told him to contact me directly through this blog (I could feel a blog post coming on.) Much to my disappointment he was adamant about putting the entire Pulbic\Shell folder in the 3rdParty folder and building the code there. It was disappointing because I don’t ......

Posted On Monday, October 12, 2009 2:00 PM | Comments (6)

Platform Builder: Filtering BIB Files Using PostFmergeBIB.bat
Jürgen Welzenbach did a nice job of showing how to filter files from the OS by using PostFmergeBIB.bat (see Discover the Windows Embedded Experience: A flexible way to exclude files from CE image), but I thought that I would take a shot at simplifying what he did. The main reason that I wanted to simplify it is to make it more understandable for those of you that aren’t so familiar with batch files. I also wanted to avoid embedding the tags that he used in the bib files directly. Jürgen created a ......

Posted On Monday, August 10, 2009 9:00 PM | Comments (0)

Platform Builder: Buildrel and Hard Links
There was an interesting newsgroup post this week that I thought I would take some time to discuss. The question went something like this: I have ONE BSP for my board and I build several OSDesign projects against it. When I switch between OSDesigns and run makeimg it fails with the following message “Error: Mismatched time stamp on .rel file for module nk.exe” When I first read it, I was stumped. This is not an uncommon activity for me. I switch between projects that build against the same BSP often ......

Posted On Friday, June 5, 2009 4:48 PM | Comments (2)

Platform Builder: cl : Command line error D2004 : '/I' requires an argument
An engineer that I work with had the error “cl : Command line error D2004 : '/I' requires an argument” this week. He had copied a folder from a project that we received from third party and was working on integrating it into one of our projects, so he wasn’t familiar with the contents of the folder. If you are actually working on making changes to the project, this error is probably easier to figure out. The first hint at what the problem is and where to look for it is the two words, “Command line”. ......

Posted On Saturday, May 30, 2009 11:03 AM | Comments (0)

Platform Builder: Speed Up the Build by using the Right Tools
I recently had an exchange with a reader of my BldDemo article (See Platform Builder: Using BldDemo) that went like this: Q: How long is typical time of doing blddemo -q on a core duo with 1GB RAM? Is an hour acceptable? A: 1. An hour is long, but you don't tell me what version of Windows CE that you are building. 2. Pauses during sysgen are normal. Honestly, I don't know what is going on during the pause because I have never looked into it, and to me it is not important. 3. If you are interested ......

Posted On Monday, May 4, 2009 9:22 PM | Comments (0)

Platform Builder: What is the _FLATRELEASEDIR?
_FLATRELEASEDIR is an environment variable that defines the folder used to create the OS image. The Platform Builder tools use the environment variable. · Buildrel copies files to the _FLATRELEASEDIR · Makeimg creates the OS image in the _FLATRELEASEDIR · CEShell mounts the _FLATRELEASEDIR as the \Release folder on the device when connected via KITL · If you set WINCEREL=1 the exe and dll files will automatically be copied to the _FLATRELEASEDIR when they are built · When you open a build window, ......

Posted On Monday, May 4, 2009 8:37 PM | Comments (0)

Platform Builder: Eboot Romimage Errors
When building a bootloader and using makefile.inc to run romimage.exe, error messages and important warning will be directed to the build.log file instead of to the build output. For that matter, all of the romimage output is put in the build.log. For more on building a bootloader see Platform Builder: Building a Bootloader For more on the Platform Builder build system take a look at: Summary of Building Windows CE which lists the articles that I have written about building Windows CE using Platform ......

Posted On Saturday, April 11, 2009 2:27 PM | Comments (0)

Platform Builder: Forcing a Folder to Rebuild Every Time
I was involved in an interesting email discussion yesterday. The email chain started with an odd question. The question was is there a way to force a folder to rebuild every time the folder is built? This was asked by an engineer that I have a lot of respect for, so I am not going to question his madness, if he says he needs it to be build every time then it needs to be built. The discussion was interesting, the solution elegant, but more important my mistake in implementing was a learning experience. ......

Posted On Wednesday, April 8, 2009 9:35 PM | Comments (0)

Platform Builder: Building a Binary Component
Sometimes it is handy to be able to include a binary file, like a DLL, LIB or EXE, in the build tree and have it “built” while the rest of the tree is built. I know you are wondering when you would possibly need to build an already existing file. You might want to do this for a few reasons, like: · You are creating a binary BSP. In this case, the BSP would not include source. · You are creating a source BSP, but you have some third party driver code that you aren’t licensed to deliver with the BSP ......

Posted On Wednesday, April 8, 2009 8:07 PM | Comments (0)

Platform Builder: error C2220: warning treated as error - no 'object' file generated
The error message “C2220: warning treated as error - no 'object' file generated” is output when the compiler option -WX is enabled and the code being compiled has a warning. When building with Platform Builder, the –WX compiler option is added when the environment variable WARNISERROR is set. WARNISERROR is a handy environment variable for managing compiler warnings. With WARNISERROR set, warnings will cause the build to fail and therefore causes Software Engineers to clean up their code. The error ......

Posted On Saturday, March 21, 2009 6:15 PM | Comments (2)

Platform Builder: Error: Ram Start Overlaps ROM Binary
In embedded systems, like Windows CE, it is possible to have more bytes in the Operating System (OS) than there is space to store the OS on the device. It is also possible to have more bytes in the OS than you have allocated for saving the OS on the device. The first could be a bigger problem than the second. The Board Support Package (BSP) contains a file that allocates space for the OS. The file is config.bib (for more on config.bib see Platform Builder: Config.bib.) The space for the OS is allocated ......

Posted On Thursday, January 1, 2009 8:25 PM | Comments (0)

Platform Builder: Config.bib
In previous posts, I have discussed bib files but focused on the areas that probably are modified the most during platform development, those being the FILES and MODULES sections. In this post I will look deeper into config.bib which typically contains the MEMORY and CONFIG sections. Other posts on bib files include Platform Builder: Using Bib Files to add files to a Windows CE OS Image, Platform Builder: Pulling it all together with Makeimg, Platform Builder: Creating an nk.nb0, Platform Builder: ......

Posted On Monday, December 22, 2008 8:35 PM | Comments (5)

Platform Builder:Building Multiple Folders
I came across an interesting question today – How can I use a sources file to build multiple sub-folders? Of course the obvious answer is don’t do that. Instead set up a tree something like this: MyDriver |- Dirs (file listing sub-folders) |- Folder1 (Create a static library) |- sources |- makefile |- file.c |- Folder2 (Create a static library) |- sources |- makefile |- file2.c |- BuildDLL (Link the libraries to create a DLL) |- sources |- makefile But the question is still valid, can you use a sources ......

Posted On Thursday, December 4, 2008 6:11 PM | Comments (0)

Filtering Public Files
Michel Verhagen at GuruCE has just published a very nice blog post about Filtering Dat Files. In the article, he shows how to use a batch file to remove lines from the Public DAT files during makeimg. Note that this technique can be used to filter lines out of other file types as well, including bib and db files. Tags: Makeimg, Dat Files Copyright © 2008 – Bruce Eitman All Rights Reserved ......

Posted On Thursday, September 11, 2008 12:59 PM | Comments (0)

Platform Builder: Cesysgen.bat, what happens when a SYSGEN Variable is set?
There isn’t any magic that occurs when you set a SYSGEN variable, or drag a component from the catalog into your project. I know that sometimes it sure seems like it, but if I know anything about computers I know that there isn’t any magic involved. Instead, there are some batch files, makefiles, and few applications that work together to define the OS that you want to build and then to build it. During the sysgen of your project, a file in your project (OSDesign or PBWorkspace) is used to convert ......

Posted On Tuesday, September 9, 2008 11:00 PM | Comments (0)

Platform Builder: Sources Files 2
I was looking over my original post about sources files (Platform Builder: Sources Files) today and it occurred to me that there is room to improve. That post provided basic information to create a sources file that will build a driver. The following are other things that you can do within a sources file: Set CFLAGS and AFLAGS CFLAGS and AFLAGS cannot be set in a sources file. Instead, you will need to set CDEFINES and ADEFINES to set compiler and assembler command line flags. Set CDEFINES, LDEFINES ......

Posted On Friday, August 22, 2008 6:22 PM | Comments (0)

Platform Builder: IXP46x, 128 MB RAM, CEBaseCESysgen.bat - System Fails to Boot
It has been another one of those days. Several months ago we discovered that one of our systems wouldn’t boot if we did a clean build, but if we built the kernel separately and then ran makeimg the system would boot. What a mystery, that just didn’t make any sense. So, the engineer on the project modified PreMakeimg.bat to rebuild the kernel when we run makeimg. All was good, but this increases build time. If you have followed this blog, you know that I don’t like long build times but we all tolerated ......

Posted On Tuesday, July 22, 2008 9:02 PM | Comments (2)

Platform Builder: Dirs Files
Dirs files are the direction signs for building your platform. They show the way for build.exe to find your code to build it. Dirs files are probably the best named files in the build system because what they do is tell build.exe which sub directories to descend into to build. If you have looked around at the files in your platform, then you probably are familiar with the basic form of a dirs file, here is an example: DIRS=\ Serial \ USB \ Wave This dirs file tells build to descend into three folders; ......

Posted On Wednesday, July 16, 2008 9:31 PM | Comments (4)

Platform Builder: Using STR Files
One way to customize your project configuration files is to use string replacement with STR files. Technically, the STR files are for language localization, but that doesn’t exclude using them for customization. In fact, when you create a new project using Platform Builder for Windows CE 6.0, your project will contain a cebase.str for you to set your device name in. STR files are plain text files stored in your FILES\INTLTRNS\<Local> folder. If you aren’t sure which folder you are using, open ......

Posted On Tuesday, July 8, 2008 8:22 PM | Comments (0)

Platform Builder: Your Changes aren’t in the OS Image
Another engineer just called me for help to figure out why her changes to a dll were not reflected in the nk.bin. I have always found this to a user error problem and started to list the causes that I could think of, but in the end she found a new one. Causes that we came up with are listed below. You may know of others, if you do please share those with us in a comment. · You didn’t build your code before running makeimg · The build failed, but you didn’t notice and ran makeimg anyway · You didn’t ......

Posted On Wednesday, July 2, 2008 2:33 PM | Comments (3)

Platform Builder: Clone Public Code
I recently wrote an article about modifying the behavior of KernelIoControl when called by User Mode code. In that article, I stated that you need to clone the Public oemioctl code to your platform. Sounds so simple doesn’t it, and really it isn’t that difficult if you know what you are doing, but for the rest of you I thought that I would walk through the process of cloning code. Many of us use the term “clone code” but what does it really mean? Cloning code means to copy the code to another build ......

Posted On Wednesday, July 2, 2008 2:32 PM | Comments (29)

Platform Builder: Using Your Developr Batch File
Spell checker is going to hate this post, because the ‘e’ is missing in the folder name Developr. One of the things that you can do to customize the build environment in Platform Builder is to add a batch file to the Developr folder. To use the Developr batch file, you must first create a sub folder named with your system username. The fact is that I am thinking about this right now because my username just changed from beitman to bruce.eitman, so my Developr batch file isn’t working anymore. So ......

Posted On Wednesday, June 25, 2008 10:13 PM | Comments (2)

Platform Builder: Fmerge Tips and Tricks
Platform Builder: Fmerge Tips and Tricks Fmerge is a file merge utility that runs when you run makeimg. Fmerge is used to concatenate and process bib, reg, dat, db and nls files. Each file type is handled in a different way. Tip1, check the makeimg output. The makeimg output includes the fmerge command line for each file type. This can be valuable for understanding which file is included when, and the name of the output file that is created. I will leave it to you to review the command line to check ......

Posted On Friday, June 20, 2008 3:00 PM | Comments (0)

Platform Builder: Don’t use Build and Sysgen
Ever since the release of Platform Builder for Windows CE 5.0, there has been an item in the Build OS menu labeled “Build and Sysgen” which causes problems for developers. I believe that this item is very useful for Microsoft’s Software Engineers, but it causes problems for the rest of us. The problem is that Build and Sysgen, especially with the Clean Before Building set, will delete binary files that you don’t have the source to rebuild. Once you have run Build and Sysgen and discover that it created ......

Posted On Thursday, June 19, 2008 12:56 PM | Comments (1)

Platform Builder: Using Dat Files to Initialize the File System
If you haven’t noticed already, all of the files that you put in the Windows CE OS image end up in the \Windows folder. There is nothing that you can do about that, but you can creates other folders and copy files into those folders using DAT files. DAT files can be somewhat of a mystery because most BSPs don’t do anything with them and the default OSDesigns don’t include anything in the project.dat file. But, the DAT files in the Public folders do include plenty of examples and Platform Builder ......

Posted On Tuesday, June 17, 2008 10:29 PM | Comments (8)

Platform Builder: Using Bib Files to add files to a Windows CE OS Image
Platform Builder Help does a good job of documenting the Binary Image Builder (BIB) files, but finding the documentation can be a challenge and it is filled with a lot of technical detail, but not much how to information. I will try to make that better. Help tells you that there are FILES and MODULES and that your file needs to be added to one of them. The only real guidance that it gives is that a dll in the FILES section will be loaded into Slot 0 taking address space from all processes, and that ......

Posted On Tuesday, June 17, 2008 8:37 PM | Comments (6)

Platform Builder: Summary of Building Windows CE
This is a summary of the articles that I have written that discuss the Platform Builder command line build tools. Using the Command Line Platform Builder: Build Tools Intro This is an introduction to the articles about using the command line build tools. Platform Builder: Build Tools, Opening a Build Window This discusses ways to open a command windows with the environment set up to build a project. Platform Builder: Using BldDemo This discusses using BldDemo.bat to build a project. Platform Builder: ......

Posted On Friday, June 6, 2008 4:44 PM | Comments (4)

Platform Builder: Getting from BSP Source Code Change to Test Quickly
Anyone who has used Platform Builder knows that running Sysgen can take 15 minutes, or even more to build the OS. That kind of delay between changing code and testing can be crippling to your development, and can cost your company hundreds or even thousands of dollars a day in lost productivity. There must be a better way. In fact, there are several options available. The following will discuss several of these options. FAST: Build and Makeimg from the Command Line The option that I use most, primarily ......

Posted On Friday, June 6, 2008 9:14 AM | Comments (4)

Platform Builder: Building a Bootloader
Building a bootloader isn't much different than building a driver or an application. In fact, if you have already built your project more than likely your bootloader has already been built. But what if you want to make a change to the bootloader? Then knowing how to build it, and more important what happens when you build it, will help get from changing code to testing faster. The first step is to find the source code. The source code may be in different places depending on the version of Windows ......

Posted On Thursday, June 5, 2008 4:39 PM | Comments (0)

Platform Builder: Managing the Registry
The Registry is an important part of Windows CE and allows you to manage many parts of the system's behavior. You have two registry files available to you to use for managing the registry in your system; platform.reg and project.reg. Platform.reg is used to make changes that apply to your BSP, if you are developing a BSP Project.reg is used to make changes that apply to your project You can use these files to add new registry keys and values, you can change existing values and you can delete keys ......

Posted On Wednesday, June 4, 2008 10:42 PM | Comments (9)

Platform Builder: When to do a clean build?
The rule of thumb, and this applies to any OS and compiler, when using make (or nmake) is that if you change a file that is being built then you can generally just build. But if you are changing something that make doesn't do a dependency check on, like a makefile or an environment variable, then you need to do a clean build. The reason is that make does dependency checks based on file timestamps to decide what to rebuild. Changing environment variables does not change timestamps. Selecting different ......

Posted On Tuesday, June 3, 2008 3:59 PM | Comments (0)

Platform Builder: Using Environment Variables to Control Macro Definition
It is not uncommon to need to build the same BSP with different projects, or the same driver under different BSPs. Often this means needing to build the code in different ways for different needs. Of course any good C/C++ programmer knows to use macros to control how the code is built, and any good Platform Builder user knows to use environment variables to control the build. The dilemma is how to tie the environment variables together with the macros. Unfortunately this is not automatic, you can't ......

Posted On Friday, May 30, 2008 8:16 PM | Comments (0)

Platform Builder: Using RES files to modify a Control Panel Applet
Important Update: As was pointed out in the comments, this doesn't always work. I had the opportunity to begin looking into that today when one of our engineers had the same problem, which is that the dialogs don't show up correctly and sometimes not at all. After trying several things, what we now think that we know is that editing the RES files in Visual Studio causes the problem, which means Platform Builder 6.0. Editing the RES files with Platform Builder 5.0 works well. I know that many of you ......

Posted On Wednesday, May 28, 2008 9:56 PM | Comments (7)

Platform Builder: Pulling it all together with Makeimg
The source code is built, the files needed for the OS have been collected in the _FLATRELEASEDIR, so now it is time to create the OS Image or nk.bin. The tool for this is Makeimg.exe. Makeimg uses some other tools to do this including fmerge.exe, res2res.exe and romimage.exe. If I wanted to keep this very simple, I could just tell you to run makeimg from the command line. There are no command line arguments, so this would be done. After running makeimg, you will have the nk.bin that you need for ......

Posted On Friday, May 23, 2008 11:13 PM | Comments (1)

Platform Builder: Using Buildrel
Buildrel is a batch file that populates the _FLATRELEASEDIR. That is, it builds the release directory. It does this by copying files from different folders into one folder. This step is needed because the next build step is makeimg, which uses files in the _FLATRELEASEDIR to create the OS. This is what Buildrel does: Cleans the _FLATRELEASEDIR by deleting all files and sub-folders. This step can be disabled by setting the environment variable ___BLDRELNOCLEAN=1. Creates PBUserProjects files by pulling ......

Posted On Tuesday, May 20, 2008 8:38 AM | Comments (0)

Platform Builder: Using Build.exe
Build.exe is the tool tool that builds a source code tree. Build.exe traverses a source tree by reading DIRS and SOURCES files to find the code that needs to be built. DIRS files indicate the sub-folders that build.exe should move down into to build. Note that the DIRS file can only be used to indicate direct sub-folders, that means it cannot be used to descend multiple sub-folders or to move up in the tree. SOURCES files are the leaves on the tree. When build.exe finds a SOURCES file, it stops and ......

Posted On Monday, May 19, 2008 10:32 PM | Comments (2)

Platform Builder: Creating an nk.nb0
Many BSPs include a config.bib that is configured to create an nk.bin, but not an nk.nb0. The nk.bin is handy during development, or for upgrading in the field. But it isn't so useful for programming your board using a JTAG tool. Let's look at what the difference is between the two nk files are and how to create an nk.nb0. An nk.bin is a set of records. Each record includes an address, length and data to be stored at the address. By using these records, the file size can often be reduced which makes ......

Posted On Saturday, May 17, 2008 6:44 PM | Comments (13)

Platform Builder: Using BldDemo
BldDemo is an interesting batch file. I suspect that it was originally created to demonstrate how to build a Windows CE project. Today, it is the used by the Platform Builder IDE to build projects. I don't really use it very often, except through Platform Builder, but it is a good source of information and is useful when I do use it. What is BldDemo? It is a batch file that can be used to build a Windows CE image. It hides the real tools that do the job. You can find it in %_WINCEROOT%\Public\Common\... ......

Posted On Saturday, May 17, 2008 5:43 PM | Comments (10)

Platform Builder: Build Tools, Opening a Build Window
Platform Builder for Windows CE 5.0 and 6.0 allows you to build from the command line and get the same results as building from the IDE. Platform Builder for Windows CE 4.x does not necessarily give the same results, but that depends on what you are doing. The question is, how do we get to a command prompt that has the correct environment set up for us to build? There are a few ways: The most obvious way is to open the "Build OS" menu and select "Open Release Directory". When you do this, a command ......

Posted On Thursday, May 15, 2008 12:05 PM | Comments (4)

Full Building Windows CE Archive