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

来源:互联网 发布:汽车出租管理实验 java 编辑:程序博客网 时间:2024/05/16 14:43

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

0人收藏此文章, 我要收藏发表于20天前(2013-06-19 09:43) , 已有6次阅读 ,共0个评论
    今天在做一个智能设备下的一个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了。