3

我有一个在头文件中导入两个 .tlbs 的 c++ 项目。

#import "..\bin\derived.tlb" named_guids raw_interfaces_only
#import "..\bin\base.tlb"  named_guids raw_interfaces_only

现在derived.tlb依赖于base.tlb。这些类中的基类base.tlbderived.tlb基于的。

当我编译时,我得到

“致命错误 c1084:无法读取类型库文件 '..\derived.tlb':加载类型库/DLL 时出错。”

现在它在抱怨,derived.tlb但问题似乎真的在于找不到base.tlb

base.tlb来自一个C# Com interop项目。如果我在 c# 项目的构建选项卡中检查“注册 com 互操作”,则此问题在 c++ 项目中消失。但我不想注册它。这建立在一个不应该注册任何东西的构建机器上。所以我.tlb用一个后期构建步骤来创建tlbexport.

在正确的tlb文件夹中创建,但似乎没有注册,在导入时#import找不到。base.tlbderived.tlb

我在进程监视器中看到,它正在尝试寻找很多地方,base.tlb但没有找到等同于..\bin\.

我该怎么做才能让它在正确的地方搜索?在 c++ 项目的“其他包含目录”中为其添加一个条目似乎没有帮助。

4

0 回答 0