Share via


Windows CE and Visual Studio 2005 - MFC applications.

Visual Studio 2005 gives developers the ability to have one tool to write their managed (C#/VB) applications, AND native applications (Win32, C/C++, MFC, ATL), which is pretty cool - MFC and ATL versions have both been updated to version 8.0.

When you build an MFC application the default option is to build MFC statically linked (not sure why this is the default when previously dynamically linked was the default option), I created an MFC dynamically linked application using Visual Studio 2005, the application won't run on my target board unless I either allow Visual Studio to download the MFC runtimes to my board, or include the MFC runtime DLL's into my operating system image (there isn't a Platform Builder component to do this for you, perhaps CEFileWiz might be useful to generate a component for these files!).

Using Dependency Walker (which also ships with Visual Studio 2005 [C:\Program Files\Microsoft Visual Studio 8\Common7\Tools\Bin]) we can determine the required DLL's for our application (see below).

For my application I need COREDLL.DLL (part of the operating system image), MSCVR80.DLL and MFC80U.DLL - these files can be found in the following folder (assuming a default install of Visual Studio) - C:\Program Files\Microsoft Visual Studio 8\VC\ce\Dll\<processor> where <processor> for my board is x86.

Here's the file sizes for the x86 MFC/ATL (retail) bits.

Filename

Size

MFC80U.DLL

607KB

MSVCR80.DLL

31KB

ATL80.DLL

79KB

 - Mike

Comments