views:

317

answers:

1

I'm running Embedded Visual C++ 4 with service pack 4, to develop an application for a device running CE 5.0. I'm using the CE 5.0 SDK for this purpose, which works fine except for the fact that while it will target my device (i.e. an SH4 based PDA), it will not let me select anything other than the StandardSDK emulator for debugging. If I go to Tools / Configure Platform manager, I can connect to my device under Windows CE default Platform, but I cannot select it from the Build Toolbar for output and debugging purposes. Is there any work around for this. I've considered moving to VS2008 for this app, but it breaks a large amount of 3rd party code.

+1  A: 

Embedded Visual C++ and "Platform Builder" are different tools. The "Windows CE" SDKs are designed to work with "Platform Builder" to make things like OSes and drivers. However, Applications generally use the "Windows Mobile" or "Pocket PC" SDKs.

So here are three different solutions:

Continue to use EVC++ 4.0

If you want to keep using Embedded Visual C++ 4.0 instead of one of the newer IDEs, you can use "SDK for Windows Mobile 2003-based Pocket PCs". Which I believe is the newest SDK for EVC++ 4.0.

Upgrade to VS2005+

This details how to migrate from EVC++ to VS2005 while still making native apps.

You can use the 5.0 SDK line of features in the "Windows Mobile 5.0 SDK for Pocket PC"

Use Windows CE SDK to make Applications with EVC++ 4.0

It actually is possible to make Applications using a CE SDK. This is used by OS developers to make applications for their OS.

You can develop an application using Microsoft® eMbedded Visual C++® together with Platform Builder. Before you can develop an application, you must use Microsoft Platform Builder to create an OS design, build a run-time image, and then download the run-time image to the target device.

When you download a run-time image, Platform Builder uses a download service to copy the run-time image to the target device. When the run-time image runs, Platform Builder communicates with the target device over a kernel transport.

To develop an application, keep Platform Builder connected to the target device, and then run eMbedded Visual C++. After you write, compile, and run the application, eMbedded Visual C++ uses the established connection to run the application on the target device.

Note The previously mentioned process differs from the process used to develop an application for a run-time image not downloaded by Platform Builder. When you do not use Platform Builder, you manually connect to the target device using the application connectivity communications framework of Platform Manager. For more information about application connectivity, see Application Connectivity. -- http://msdn.microsoft.com/en-us/library/ms859575.aspx

Robert
My experience is that the SDK required is dependant on the OS deployed on the device. On the device I am targetting, if I go into System Properties, it Windows CE version 5.0 Using CE SDK 5 or 4.2 works ok on the device. Using the SDKs for PocketPC derived CE versions do not work, the MFC UI objects such as CCeCommandBar don't work properly.
Shane MacLaughlin