ошибка компиляции при #import файле tlb в автоматизации COM - PullRequest
1 голос
/ 24 июня 2009

Я пытаюсь включить файл tlb приложения в проект VC ++.

Получение следующих ошибок компиляции после #import "CANoe.tlb" в исходном файле моего проекта. -

  • неизвестный символ '0x1'
  • синтаксическая ошибка: отсутствует ';' перед идентификатором 'A'
  • отсутствует указатель типа
  • int предполагается. Примечание: C ++ не поддерживает default-int
  • '{': отсутствует заголовок функции (формальный список старого стиля?)

Пожалуйста, предложите, если я делаю что-то не так.

Также есть способ проверить содержимое файла .tlb и устранить эти ошибки. Можно ли внести исправления в файл tlb? Если да, то как мне создать обновленный tlb

Заранее спасибо

Ответы [ 2 ]

3 голосов
/ 24 июня 2009

Моя первая мысль: вы имеете дело с файлом, который не является TLB. Или, по крайней мере, поврежден.

Я бы попытался вызвать TLB в OleView. Это должно дать вам быструю проверку работоспособности или недействительности TLB.

0 голосов
/ 25 июня 2009

Если файл библиотеки типов не поврежден, следующим шагом будет попытка найти сгенерированные файлы .tlh и .tli - они будут находиться во некоторой временной папке и будут иметь то же имя, что и файл библиотеки типов и ".tlh" / " .tli "расширения. Если они существуют, их изучение может очень помочь.

Директива

import делает две вещи - она ​​создает файлы ".tlh" и ".tli", а затем включает их - сообщения об ошибках соответствуют второму этапу - когда компилятор C ++ просто отказывается их компилировать. Изучение файлов, вероятно, поможет определить причину.

...