COM自动化中#import tlb文件时的编译错误

时间:2009-06-24 12:35:56

标签: c++ com typelib

我正在尝试#include VC ++项目中的应用程序tlb文件。

在我的项目源文件中的#import“CANoe.tlb”之后获取以下编译错误。 -

  • 未知字符'0x1'
  • 语法错误:缺少';'在标识符'A'之前
  • 缺少类型说明符
  • int假设。注意:C ++不支持default-int
  • '{':缺少函数头(旧式正式列表?)

如果我做错了,请建议。

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

提前致谢

2 个答案:

答案 0 :(得分:3)

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

我会尝试在OleView中调出TLB。这应该可以让您快速检查TLB是否有效。

答案 1 :(得分:0)

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

import指令执行两项操作 - 它构建“.tlh”和“.tli”文件,然后包含它们 - 错误消息对应于第二阶段 - 当C ++编译器拒绝编译它们时。检查文件可能有助于确定原因。

相关问题