C++ Class Wizards for Device Projects
Visual C++ device projects support a subset of the class wizards that are supported for desktop Visual C++ projects. Some wizards are not supported for device projects because of differences between the Windows and Windows CE operating systems. For more information, see Adding Functionality with Code Wizards.
Some Smart Device native application wizards do not provide the choice of both static linking and dynamic linking. The following table outlines the behavior of the Smart Device Application Wizards regarding runtime's linking:
Wizard |
Notes |
---|---|
Win32 Smart Device Project – Windows Application |
Static link. No option to dynamic/static link provided at project creation time |
Win32 Smart Device Project – Console Application |
Static link. No option to dynamic/static link provided at project creation time |
Win32 Smart Device Project – DLL |
Static link. No option to dynamic/static link provided at project creation time |
Win32 Smart Device Project – Static Library |
Static link. No option to dynamic/static link provided at project creation time |
ATL Smart Device Project – DLL |
Static link. No option to dynamic/static link provided at project creation time |
ATL Smart Device Project – EXE |
Static link. No option to dynamic/static link provided at project creation time |
MFC Smart Device Application – SDI |
Static link. No option to dynamic/static link provided at project creation time |
MFC Smart Device Application – SDI w. DocList |
Static link. No option to dynamic/static link provided at project creation time |
MFC Smart Device Application – Dialog based |
Static link. No option to dynamic/static link provided at project creation time |
MFC Smart Device DLL – Regular DLL |
Static link. No option to dynamic/static link provided at project creation time |
MFC Smart Device ActiveX Control |
Static link. No option to dynamic/static link provided at project creation time |
MFC Smart Device DLL – Extension DLL |
Dynamic link. No option to dynamic/static link provided at project creation time |
The table refers to deployment using the F5 shortcut key. The application installation is as described in this section:
When you create a Smart Device CAB project for an application that is written in C++, you must manually add dependencies such as atl80.dll, mfc80U.dll, and/or msvcrt.dll) to the CAB project if you are dynamically linking to these DLLs. If you are dynamically linking, and must redistribute the DLLs in the cab, do not install the DLLs to the system directory such as \windows on the device. Instead, install the DLLs into the local application directory. If you are redistributing a suite of applications, which all dynamically link to the ATL/MFC runtimes, we recommend that you install all the applications and the run-time DLLs in a single application directory. You can then provide shortcuts to the applications which can be put in their own folders. This will save size and avoids the danger of the DLLs in the system directory being replaced later with another install of an application and breaking applications that dynamically link to the DLLs.
Static linking is strongly recommended in order to reduce dependencies on the MFC/ATL DLLs. If you are linking statically, the DLLs should not be redistributed with your application.
In This Section
Using Code Wizards with Device Projects
Describes which C++ class wizards are supported, and how to access them.Wizard Options in Native Device Projects
Provides links to topics that describe the unsupported wizard options on specific C++ class wizards.Unsupported Options in the Project Properties Dialog Box
Describes behavior that differs from desktop projects in the Project Properties dialog box.