【发布时间】:2008-09-26 14:03:54
【问题描述】:
使用 VC2005,我有 3 个项目要构建:
- libA(包含一个typelib,产生libA.dll):IDL有一行
library libA { ... - libB(包含导入libA的typelib,导致libB.dll):IDL有一行
importlib( "libA " ); - libC(导入 libB):其中一个源文件包含
#import <libB.dll>
#import <libB.dll> 由编译器按以下方式处理(根据文档):
- 搜索 %PATH% 的目录
- 搜索 %LIB% 的目录
- 搜索“其他包含路径”(/I 编译器选项)
在编译libC的时候,我可以看到cl.exe清晰的可以找到可执行路径下的libA.dll(使用Filemon.exe)
VC 错误 C4772:#import of typelib 与另一个依赖项
但是,仍然找不到 libA 命名空间,并且所有对 libA 类型的引用都替换为 __missing_type__
(edit) 同时,我发现这个问题只在使用调试 dll 时出现。
以前有人见过这个问题吗?并解决了吗?
【问题讨论】:
标签: c++ visual-c++ import typelib