semo_zhang / com组件 / #import 组件重复定义问题解决方案

分享

   

#import 组件重复定义问题解决方案

2013-12-28  semo_zhang

#import语句的问题  

2007-07-16 20:22:11|  分类: 技术文章 |  标签:编程世界   |字号 订阅

在声明组件的方法时,有时候会用到其它的组件作为参数,这时会在一个组件的DLL中引入其他组件的定义。

如果在组件B的实现文件B.DLL中使用了A组件,则B.DLL也包含组件A的定义,假如有个应用程序同时要使用组件A和组件B时,在这个程序开头必须包含这样的语句:

#import "..\A.dll" no_namespace raw_interfaces_only, raw_native_types 

#import "..\B.dll" no_namespace, raw_interfaces_only, raw_native_types, named_guids  

问题出来了,因为编译时会说”A组件被重复定义“而出错,原因是A组件在A.DLL和B.DLL都有定义,这显然是不行的,解决方法是在第2句加上exclude("IA")

#import "..\A.dll" no_namespace raw_interfaces_only, raw_native_types 

#import "..\B.dll" no_namespace, raw_interfaces_only, raw_native_types, named_guids, exclude("IA") 

意思是不包括B.DLL中关于A组件接口的定义,这样就解决了组件重复定义的问题。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多
    喜欢该文的人也喜欢 更多

    ×
    ×

    ¥.00

    微信或支付宝扫码支付:

    开通即同意《个图VIP服务协议》

    全部>>