В программе на C++ я пытаюсь #import TLB сервера out-of-proc .NET.Проблемы с #import .NET-сервера out-of-proc
я получаю ошибки типа:
г: \ server.tlh (111): ошибка C2146: синтаксическая ошибка: отсутствует ';' перед тем идентификатором '' GetType
г: \ server.tlh (111): ошибка C2501: '_TypePtr': отсутствует хранилище класса или типа спецификаторы
г: \ server.tli (74): ошибка C2143: синтаксическая ошибка: отсутствует ';' перед 'тегом :: ид'
г: \ server.tli (74): ошибка C2433: '_TypePtr': 'инлайн' не допускается на декларациях данных
г: \ server.tli (74): ошибка C2501: '_TypePtr': отсутствует хранилище класса или типа спецификаторы
г: \ 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(), похоже, вызывает проблемы.
Некоторые исследования google показывают, что я мог бы #import mscorlib.tlb
(или поместить его в путь), но я не могу это скомпилировать.
Любые советы?
TLBEXP не помог мне, raw_interfaces_only сделал. Почему пример кода содержит named_guids вместо raw_interfaces_only? – 2010-11-08 11:47:52