在 C++ 程序中,我正在尝试 #import TLB of .NET out-of-proc server。
我收到如下错误:
z:\server.tlh(111) : 错误 C2146: 语法错误: 缺少 ';' 在标识符“GetType”之前
z:\server.tlh(111) : 错误 C2501: '_TypePtr' : 缺少存储类或类型说明符
z:\server.tli(74):错误 C2143:语法错误:缺少“;” 在'标签::id'之前
z:\server.tli(74) : error C2433: '_TypePtr' : 'inline' 不允许在数据声明中使用
z:\server.tli(74):错误 C2501:'_TypePtr':缺少存储类或类型说明符
z:\server.tli(74) : 致命错误 C1004: 发现文件意外结尾
TLH 看起来像:
_bstr_t GetToString();
VARIANT_BOOL Equals (const _variant_t & obj);
long GetHashCode();
_TypePtr GetType();
long Open();
我对拥有基本对象 .NET 对象方法(如 GetType()、Equals() 等)并不真正感兴趣。但 GetType() 似乎会导致问题。
一些谷歌研究表明我可以#import mscorlib.tlb
(或将其放入路径中),但我也无法编译。
有小费吗?