Обновление: Спустя более шести месяцев после открытия запроса поддержки в Microsoft он отклонен, они утверждают, что это не ошибка (так как в документации явно не указано, что поведение, t правильный). Они отклонили DCR, заявив, что, поскольку они не слышали никаких жалоб за последние 10 лет, это, очевидно, не общий вариант использования.
Это призыв к оружию, если вы столкнулись с той же проблемой, пожалуйста, откройте службу поддержки с Microsoft, чтобы они поняли, что она должна быть исправлена. Я знаю, что по крайней мере кто-то столкнулся с той же проблемой, потому что я нашел этот комментарий в исходный код Chrome:
#Создание файлов .idl.
#Это полный беспорядок. MIDL нужно запустить из $OPEN_DIR, потому что он тоже#глупо применять его включенные пути к относительному пути, например, "ui/ie/bla.idl"
#(он отображается только в текущем каталоге). Поэтому нам нужно прыгать через обручи, чтобы исправить#вверх наши относительные включают пути и выходные файлы.
Оригинальный вопрос:
У меня есть следующая структура файла:
-  C:\first\Foo.idl
-  C:\second\Bar.idl
Где Bar.idl содержит следующую строку:
import "first/Foo.idl";
Как я могу получить  midl для компиляции Bar.idl при компиляции из C:\second?
Если я импортировал Foo.idl напрямую (без указания first/), то указать first в качестве дополнительного каталога include будет достаточно (midl /I c:\first Bar.idl), и он найдет Foo.idl
Альтернативно, если я скомпилирован из C:\ (midl second\Bar.idl), это тоже будет ОК.
Проблема заключается в том, что при компиляции из C:\second с командной строкой midl /I C:\ Bar.idl я получаю следующую ошибку компиляции:
c1: фатальная ошибка C1083: невозможно открыть исходный файл: 'first\Foo.idl': нет такого файла или каталога
Похоже, что  midl хочет искать относительные пути только в том случае, если они относятся к текущему каталогу, а не к одному из указанных дополнительных каталогов include и использует дополнительные каталоги include только для имен неквалифицированных файлов, это поведение относится к ключевому слову import, используя include, результаты ожидаются.
Я хотел бы иметь возможность добавить два разных дополнительных каталога include, чтобы, если у меня есть файл на моем локальном компьютере  midl, он примет эту версию, в противном случае он возьмет файл с сервера ( поэтому chdir в корневую папку не является вариантом).
Есть ли способ обойти это?
