lstrlenW不是ATL的成员解决方法 (VS2008)

    今天在作一个智能设备下的一个demo时出现了下面的问题,atlconv.h  error C2039: "lstrlenW": 不是"ATL"的成成员。 因而按照提示将 atlconv.h中的下面函数 inline int ocslen(_In_z_ LPCOLESTR x) throw() { return ATL::lstrlenW(x); }作了以下修改:inline int ocslen(_In_z_ LPCOLESTR x) throw() { return lstrlenW(x); }从新编译一下没有错误了,可是后来想一想这样作不对,文件atlconv.h毕竟是系统自带文件,很差随便修改的,因而我就在网上找到了答案,下载补丁:VisualStudioDeviceWindowsEmbeddedCompact7.msi。

下载地址:http://download.microsoft.com/download/9/D/D/9DDBD3EC-A43C-4BCE-A7A9-AEE9B1007BCE/VisualStudioDeviceWindowsEmbeddedCompact7.msi。 函数

    安装以后,再次打开你编译的工程,仍是不行,提示相同的错误,因而点击你当前项目的属性-》C/C++-》常规-》附加包含目录:
C:\Program Files (x86)\Windows CE Tools\SDKs\MX53ELI\Include\Armv4i(当前智能设备sdk安装的路径)
C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\ce7\atlmfc\include(当前编译器下atlmfc的包含目录)
从新编译,OK了。
spa

相关文章
相关标签/搜索