我用的是VS2005.net, VC++
我想把string转成BSTR,再传给.com接口, 我在网上查到,要在.net中使用“BSTR”的话,要包含comdef.h,所以:
#include<comdef.h>
...
但是加了以上包含后,出现很多错误,都是C2872,其中一部分如下:
C:\Program Files\Microsoft Platform SDK\Include\winbase.h(3496) : error C2872: 'FILETIME' : ambiguous symbol
could be 'C:\Program Files\Microsoft Platform SDK\Include\windef.h(366) : _FILETIME FILETIME'
or 'c:\windows\microsoft.net\framework\v2.0.50727\mscorlib.dll : System::Runtime::InteropServices::FILETIME'
C:\Program Files\Microsoft Platform SDK\Include\winbase.h(3497) : error C2872: 'FILETIME' : ambiguous symbol
could be 'C:\Program Files\Microsoft Platform SDK\Include\windef.h(366) : _FILETIME FILETIME'
or 'c:\windows\microsoft.net\framework\v2.0.50727\mscorlib.dll : System::Runtime::InteropServices::FILETIME'
C:\Program Files\Microsoft Platform SDK\Include\winbase.h(3498) : error C2872: 'FILETIME' : ambiguous symbol
could be 'C:\Program Files\Microsoft Platform SDK\Include\windef.h(366) : _FILETIME FILETIME'
or 'c:\windows\microsoft.net\framework\v2.0.50727\mscorlib.dll : System::Runtime::InteropServices::FILETIME'
C:\Program Files\Microsoft Platform SDK\Include\winbase.h(3677) : error C2872: 'FILETIME' : ambiguous symbol
could be 'C:\Program Files\Microsoft Platform SDK\Include\windef.h(366) : _FILETIME FILETIME'
or 'c:\windows\microsoft.net\framework\v2.0.50727\mscorlib.dll : System::Runtime::InteropServices::FILETIME'
........
说winbase.h,windef.h,mscorlib.dll 3个文件内的定义有重复,但是我查遍了我的程序,都没包含这些文件,在reference中也没有相关的.dll。 是不是我引用的第三方的.dll中有包含这些头文件?
请教各位高人怎么解决呀。。。。。
另外,要是版主觉得发错了地方,请帮忙移到相应的版面