今天在做一个智能设备下的一个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了。