码迷,mamicode.com
首页 > 其他好文 > 详细

'IDataObject': ambiguous symbol的解决方法

时间:2018-06-07 15:35:14      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:sof   com   system   方法   使用   c++   引用   data   VID   

今天在使用managed C++捕获系统消息时,编译出现了以下问题:

‘IDataObject‘: ambiguous symbol
‘IServiceProvider‘: redefinition; different basic types
‘IServiceProvider‘: ambiguous symbol

google一番后,发现还是自己的问题,在.h文件里使用了using namespace System,而这个头文件在.cpp文件里是第一个引用的头文件。

这就导致了在.cpp文件里出现了using namespace 在#include "***.h"的情况,导致上面问题的发生。到底是自己业务不熟造成的,:(

解决方法就是确保所有的using namespace xxxx在 #include "xxxx.h"之后。

另附hook系统消息使用的几个头文件,备忘在此。

#include "windows.h"
#include "Wtsapi32.h"
#include <initguid.h>
#include "Usbiodef.h"
#include "Wiaintfc.h"
#include <Dbt.h>

 

https://social.msdn.microsoft.com/Forums/vstudio/en-US/92c473d6-c963-44fa-9150-6c6af502112b/ambiguous-symbol?forum=vcgeneral

 

'IDataObject': ambiguous symbol的解决方法

标签:sof   com   system   方法   使用   c++   引用   data   VID   

原文地址:https://www.cnblogs.com/cg88/p/9150617.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!