Visual Studio всегда компилирует MIDL, хотя и не изменяется

У меня есть проект с несколькими файлами MIDL, которые VS ВСЕГДА перекомпилирует, несмотря на то, что они не изменились. Я пробовал несколько советов, в том числе помещал каталог проекта в путь включения и т. Д., Но ничего не помогает. Проблема в том, что создаются файлы заголовков, которые затем влияют на перекомпиляцию других «подпроектов», вызывая ненужную перестройку компонентов.

Любое обходное решение для этого? Я даже пытался использовать Custom Build Tool (с midl.exe), и это обычно работает для других типов проблем, но использование midl.exe демонстрирует точно такое же поведение, то есть MIDL всегда перекомпилируется.

Как-то расстраивает...


person Robert    schedule 27.05.2013    source источник


Ответы (1)


Решено. Проблема заключалась в том, что все скомпилированные файлы IDL генерировали один и тот же файл dlldata.c, а это означало, что каждая компиляция IDL искажала его для следующего файла IDL. Установив явный путь для файла DllData (MIDL/Output) в %(Filename)_dlldata.c, все работает, как и ожидалось.

person Robert    schedule 30.05.2013