在BCB6中用DSPACK 2.3编写ActiveForm的问题 (100分)

  • 主题发起人 主题发起人 alan_sun
  • 开始时间 开始时间
A

alan_sun

Unregistered / Unconfirmed
GUEST, unregistred user!
我用BCB6安装DSPACK成功,编写应用程式可以通过,但在编写ACTIVEFORM时编译报出
[C++ Error] utilcls.h(2822): E2015 Ambiguity between 'GUID_NULL' and 'Directshow9::GUID_NULL'
[C++ Error] ActiveFormImpl1.h(71): E2015 Ambiguity between 'IID_ISpecifyPropertyPages' and 'Dsutil::IID_ISpecifyPropertyPages'
[C++ Error] atlcom.h(3273): E2015 Ambiguity between 'GUID_NULL' and 'Directshow9::GUID_NULL'
错误信息如上。第二条错误我通过修改DSPACK源码已经解决,但是一、三两条错误,通过修改DirectShow9的成员名是解决不了的,不知为什么
 
看错误信息似乎是类型不匹配啊,建议看看'GUID_NULL'的定义。
 
好象是看了,cguid.h里和directshow.hpp里定义了GUID_NULL的确是不一样,但是我把Directshow9中的GUID_NULL改名后编译通过,但是在编译ActiveForm是依然出现上面的错误信息[?]
 
似乎应该以directshow.hpp里的GUID_NULL定义为准。
 
可能是路径设置问题,要把dx9的include 和 lib路径放在最开始,而且要下载bcb用的头和库文件覆盖dx9的
 
经过一端时间的痛苦后发现是Directshow9.hpp的namespace的问题,当using namespace Directshow9后,其中Directshow9::GUID_NULL和ks.h中的GUID_NULL冲突。我想应该是DSPACK的开发者忽略了这一点,该如何解决请高手赐教!
 

Similar threads

后退
顶部