我正在使用Visual Studio 2008 Professional IDE开发跨平台的ATL项目。
为了能够在Windows CE7 OS上运行程序,我目前正在使用“Colibri_SDK_WINCE7”SDK。
如果我尝试在Win CE7上编译,则会出现一些相同类型的错误:
errorC2668:对重载函数的模糊调用
详细说明:
C:\ Program Files(x86)\ Microsoft Visual Studio 9.0 \ VC \ ce \ atlmfc \ include \ atlbase.h(7362):错误C2668:'ATL :: InlineIsEqualGUID':Mehrdeutiger Aufrufeinerüberladenen 的Funktion
C:\ Program Files(x86)\ Microsoft Visual Studio 9.0 \ VC \ ce \ atlmfc \ include \ atlosapice.h(1313):kann'int ATL :: InlineIsEqualGUID(const GUID&,const GUID&)'sein
C:\ Program Files(x86)\ Windows CE Tools \ SDKs \ SDK2wince7 \ include \ ARMv4I \ guiddef.h(138):oder“int InlineIsEqualGUID(const GUID&,const GUID&)“[bei argumentbezogenem 查找gefunden] bei Anpassung der Argumentliste'(const CLSID,const CLSID)'
C:\ Program Files(x86)\ Microsoft Visual Studio 9.0 \ VC \ ce \ atlmfc \ include \ atlcom.h(3916):错误C2668:'ATL :: InlineIsEqualGUID':Mehrdeutiger Aufruf einer überladenenFunktion
C:\ Program Files(x86)\ Microsoft Visual Studio 9.0 \ VC \ ce \ atlmfc \ include \ atlosapice.h(1313):kann'int ATL :: InlineIsEqualGUID(const GUID&,const GUID&)'sein
C:\ Program Files(x86)\ Windows CE Tools \ SDKs \ SDK2wince7 \ include \ ARMv4I \ guiddef.h(138):oder“int InlineIsEqualGUID(const GUID&,const GUID&)“[bei argumentbezogenemLookup gefunden] bei Anpassung der Argumentliste '(GUID,const GUID)'
C:\ Program Files(x86)\ Microsoft Visual Studio 9.0 \ VC \ ce \ atlmfc \ include \ atlcom.h(3933):错误C2668:'ATL :: InlineIsEqualGUID':Mehrdeutiger Aufrufeinerüberladenen 的Funktion
C:\ Program Files(x86)\ Microsoft Visual Studio 9.0 \ VC \ ce \ atlmfc \ include \ atlosapice.h(1313):kann'int ATL :: InlineIsEqualGUID(const GUID&,const GUID&)'sein
C:\ Program Files(x86)\ Windows CE Tools \ SDKs \ SDK2wince7 \ include \ ARMv4I \ guiddef.h(138):oder“int InlineIsEqualGUID(const GUID&,const GUID&)“[bei argumentbezogenem 查找gefunden] bei Anpassung der Argumentliste'(const GUID,const IID)'
C:\ Program Files(x86)\ Microsoft Visual Studio 9.0 \ VC \ ce \ atlmfc \ include \ atlcom.h(3933):错误C2668:'ATL :: InlineIsEqualGUID':Mehrdeutiger Aufrufeinerüberladenen 的Funktion
C:\ Program Files(x86)\ Microsoft Visual Studio 9.0 \ VC \ ce \ atlmfc \ include \ atlosapice.h(1313):kann'int ATL :: InlineIsEqualGUID(const GUID&,const GUID&)'sein
C:\ Program Files(x86)\ Windows CE Tools \ SDKs \ SDK2wince7 \ include \ ARMv4I \ guiddef.h(138):oder“int InlineIsEqualGUID(const GUID&,const GUID [bei argumentbezogenem 查找gefunden]
bei Anpassung der Argumentliste'(const GUID,const IID)'C:\ Program 文件(x86)\ Microsoft Visual Studio 9.0 \ VC \ ce \ atlmfc \ include \ atlcom.h(3965):错误C2668:'ATL :: InlineIsEqualGUID':Mehrdeutiger Aufruf einer überladenenFunktion
C:\ Program Files(x86)\ Microsoft Visual Studio 9.0 \ VC \ ce \ atlmfc \ include \ atlosapice.h(1313):kann'int ATL :: InlineIsEqualGUID(const GUID&,const GUID&)'sein
C:\ Program Files(x86)\ Windows CE Tools \ SDKs \ SDK2wince7 \ include \ ARMv4I \ guiddef.h(138):oder“int InlineIsEqualGUID(const GUID&,const GUID&)“[bei argumentbezogenem 查找gefunden] bei Anpassung der Argumentliste'(GUID,const GUID)'
命名空间名称的限定似乎存在一些问题。
我试图通过
解决问题using namespace ATL;
但无论是否使用命名空间都会发生错误。
因为错误发生在某些标准atl头文件中,所以我无法使用函数调用的完全限定表达式。
ATL::someMethod();
不幸的是,我不知道我自己代码的哪一部分调用了关键的ATL方法。
提前感谢所有回复。