0

我是 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
} ;

似乎错误中的行号与生成的输出中的行号不对应。如何找到实际的行号?

4

0 回答 0