C++ 在COM自动化中导入tlb文件时发生编译错误

C++ 在COM自动化中导入tlb文件时发生编译错误,c++,com,typelib,C++,Com,Typelib,我试图在VC++项目中包含一个应用程序tlb文件 在我的项目源文件中导入“CANoe.tlb”后,出现以下编译错误。- 未知字符“0x1” 语法错误:缺少“;”在标识符“A”之前 缺少类型说明符 假定为int。注意:C++不支持默认INT/LI> “{”:缺少函数头(旧式正式列表?) 如果我做错了什么,请提出建议 此外,是否有方法验证.tlb文件内容并解决这些错误。是否可以在tlb文件中进行更正?如果可以,如何创建更新的tlb 提前感谢我的第一个想法是,您正在处理的文件不是TLB,或者至少已

我试图在VC++项目中包含一个应用程序tlb文件

在我的项目源文件中导入“CANoe.tlb”后,出现以下编译错误。-

  • 未知字符“0x1”
  • 语法错误:缺少“;”在标识符“A”之前
  • 缺少类型说明符
  • 假定为int。注意:C++不支持默认INT/LI>
  • “{”:缺少函数头(旧式正式列表?)
如果我做错了什么,请提出建议

此外,是否有方法验证.tlb文件内容并解决这些错误。是否可以在tlb文件中进行更正?如果可以,如何创建更新的tlb


提前感谢

我的第一个想法是,您正在处理的文件不是TLB,或者至少已损坏


我会尝试在OleView中打开TLB。这会让您快速检查TLB是否有效。

如果类型库文件完好无损,下一步是尝试查找生成的.tlh和.tli文件-它们将位于某个临时文件夹中,并与类型库文件和“.tlh”/.tli”同名扩展。如果它们存在,检查它们可能会有很大帮助


import
指令做两件事-它构建“.tlh”和“.tli”文件,然后包括它们-错误消息对应于第二阶段-当C++编译器拒绝编译它们时。检查文件可能有助于找出原因。

可以使用OLVIEW来查看TLB。如果可能,纠正TLB是一种痛苦。但是一旦你识别出问题的来源,你就可以玩WI了。使用导入指令的属性(所有在MSDN中描述)来尝试解决它。