У меня следующая проблема:
У меня есть проекты Проект1 и Проект2 . В Project1 у меня есть интерфейс IMyInterface . В Project2 у меня есть интерфейс IMyInterface2 с методом, который получает указатель на IMyInterface1 .
Когда я использую import "Project1.idl" ; в моем Project2.idl , # включает «Project1.h» появляется в Project2 ___ i.h . Но этот файл даже не существует!
Как правильно импортировать интерфейс, определенный в другую библиотеку, в файл idl?
Я попытался заменить # include "Project1.h" на # include "Project1_i.h" или # include "Project1_i.c" , но это дало мне много ошибок.
Я также попытался использовать importlib ("Project1.tlb") и определить мой интерфейс IMyInterface2 в определении библиотеки. Но когда я компилирую Project2PS project, возникает ошибка (что-то вроде dlldata.c не генерируется, если интерфейс не определен).
Я пытался создать пустышку Project1.h . Но когда Project2 ___ i.h скомпилирован, компилятор не может найти MyInterface1 . И если я включу Project1 ___ i.h , я снова получу много ошибок!
Очевидно, это простая проблема, но я не знаю, как ее решить. Я застрял с этим!
Кстати, я использую VS2008 SP1.
Заранее спасибо.