进口。TLB文件给出"cannot open source file x.tlh"

Import .TLB file gives "cannot open source file x.tlh"

本文关键字:source open file tlh cannot 进口 TLB 文件      更新时间:2023-10-16

我正在将VS2010 C++项目更新为VS2019。

该项目正在导入多个tlb文件,对于每个文件,VS2019都会给出一个错误,即它"无法为.tlh文件打开源代码文件"。

其中一个来自我也升级的DLL(用C#编写,在VS2019中构建和注册OK(,另外两个是第三方tlb文件。

这是导入语句的示例(在我的头文件中(...

#import "../ExcelInterop/bin/Debug/ExcelInterop.tlb" raw_interfaces_only, raw_native_types, no_namespace, named_guids

从头文件位置来看,相对路径是正确的。

如何修复此错误,并让VS2019正确处理我的.tlb文件?

我找到了解决方法。如果你 #import XXX.dll并且编译器抱怨它"无法开源文件XXX.tlh",只需在 #import 行上方添加此行:

#include "[XXX.tlh 的完整路径]">

并注释掉 #import 行。它现在应该通过编译,因为文件 XXX.tlh 确实存在。成功后,将代码恢复为原始代码。