Introduction
An update is available for Microsoft Visual Studio 2008 Service Pack 1 (SP1) that extends support for Windows Embedded Compact 7. This update enables you to build smart device projects with Active Template Library (ATL) functionality and with Microsoft Foundation Class (MFC) functionality for Windows Embedded Compact 7 SDK. Specifically, this update fixes the following issues and adds the following feature.
Issue 1
When you use the Windows Embedded Compact SDK to create a Win32 application that MFC supports, the build output displays unsafe API warnings that resemble one of the following:
Warning C4996: 'wcstombs': This function or variable may be unsafe. Consider using wcstombs_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details. C:\Program Files\Microsoft Visual Studio 9.0\VC\ce\include\xlocnum
Warning C4996: 'mbstowcs': This function or variable may be unsafe. Consider using mbstowcs_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details. C:\Program Files\Microsoft Visual Studio 9.0\VC\ce\include\xlocnum
Issue 2
Assume that you use Windows Embedded Compact 7 SDK to develop a Win32 smart device project that ATL and MFC support. You receive unexpected build errors and warnings that resemble one of the following in Visual Studio 2008 when you build the project:
Warning C4985: '_wcstoi64': attributes not present on previous declaration.
Error C2039: 'lstrlenW' : is not a member of 'ATL'
Issue 3
Build errors that resemble the following occur when you use the /MD compiler option for smart device projects.
Error LNK2001: unresolved external symbol "__declspec(dllimport) class std::basic_ostream<char,struct std::char_traits<char> > std::cout
Error LNK2019: unresolved external symbol "__declspec(dllimport) public: int __cdecl std::ios_base::width(int)
This issue occurs because of a mismatch in the headers that are provided in Visual Studio 2008 and the headers that are required for Windows Embedded Compact 7 applications.
Issue 4
You create a smart device project that ATL supports. If the project includes a copy operation for an empty binary string (BSTR), an exception occurs when you run the generated application.
Issue 5
C++ exceptions are not caught on devices that use ARM processors when you run a smart device application that ATL and MFC support.
Feature 1
This update extends the ATL and Visual C++ run-time libraries and headers for Windows Embedded Compact 7 in Visual Studio 2008 SP1. This enables you to build smart device projects that have ATL functionality for Windows Embedded Compact 7 SDK.
The header files are updated in the following location: For 32-bit operating systems:<system drive>:\Program Files\Microsoft Visual Studio 9.0\VC\ce7For 64-bit operating systems:
<system drive>:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\ce7
More Information
Update information
To obtain this update, visit the following Microsoft Download Center website:
Windows Embedded Compact 7 ATL Update for Visual Studio 2008 SP1
Prerequisites
To apply this update, you must have the update that adds support for developing applications for Windows Embedded Compact 7 in Microsoft Visual Studio 2008 Service Pack 1 (SP1) installed. For more information about how to obtain the update, click the following article number to view the article in the Microsoft Knowledge Base:
2483802 An update is available for Visual Studio 2008 SP1 that adds support for Windows Embedded Compact 7
Restart information
You may have to restart the computer after you apply this update. We recommend that you exit any instances of Visual Studio before you apply this update.
Status
Microsoft has confirmed that the issues that are listed are a problem in the Microsoft products that are listed in the "Applies to" section.
References
For more information about software update terminology, click the following article number to view the article in the Microsoft Knowledge Base:
824684 Description of the standard terminology that is used to describe Microsoft software updates