我正在将VS2010 C ++项目更新为VS2019。
该项目正在导入多个tlb文件,而对于每个tlb文件,VS2019都会给出一个错误,提示它“无法打开.tlh文件的源文件”。
其中之一来自我也已升级的DLL(用C#编写,在VS2019中构建并注册为OK),另外2个是第三方的tlb文件。
这是import语句的示例(在我的头文件中)...
#import "../ExcelInterop/bin/Debug/ExcelInterop.tlb" raw_interfaces_only, raw_native_types, no_namespace, named_guids
从头文件位置开始,相对路径正确。
如何解决此错误,并使VS2019正确处理我的.tlb文件?
答案 0 :(得分:1)
我找到了一种解决方法。如果您#import XXX.dll而编译器抱怨它“无法打开源文件XXX.tlh”,则只需在#import行上方添加以下行:
#include“ [XXX.tlh的完整路径]”
并注释掉#import行。现在它应该通过编译,因为文件XXX.tlh确实存在。成功后,将您的代码恢复为原始代码。