我是 COM 编程新手,正在尝试编译一个 Visual C++ COM 库,它生成(并使用?)MIDL 生成的头文件:
处理 MIDL 生成的标头 ( foo.h
) 时编译失败:
5>StdAfx.cpp
5>c:\path\to\foo.h(764): error C2059: syntax error: 'constant'
5>c:\path\to\foo.h(764): error C3805: 'constant': unexpected token, expected either '}' or a ','
5>Done building project "Foo.vcxproj" -- FAILED.
当我查看生成的 MIDL 中的第 764 行时,它并没有明显的问题:
enum FOO_ENUM
{
ENUMERATOR_0 = 0,
ENUMERATOR_1 = 1, // <- Line 764
ENUMERATOR_2 = 2,
ENUMERATOR_3 = 3,
ENUMERATOR_4 = 4,
ENUMERATOR_5 = 5,
ENUMERATOR_6 = 6,
ENUMERATOR_7 = 7,
ENUMERATOR_8 = 0x80
} ;
似乎错误中的行号与生成的输出中的行号不对应。如何找到实际的行号?