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.
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.
The header files are updated in the following location:
For 32-bit operating systems:
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)
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\ce7
For 64-bit operating systems:<system drive>:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\ce7