Why I hate MIDL

Вчера билд сломал. midl : error MIDL9008 : internal compiler problem
Разбираясь, нашел много интересного.
Во-первых, у midl-а есть предел на длину файла, что-то типа 64K. LOL WTF. Мокрософт говорит, что оно by design. Не делайте больших библиотек, используйте import а не include… В итоге в нашем IDL коде, который by design построен на include-ах, появились следующие дефайны: _SKIP_IDL_PART1, SKIP_IDL_PART2… :)

Во-вторых, дизайнеры наших IDL-ов собирают все зависимости вручную, то есть для каждой либы есть центральный IDL, в котором все необходимые кусочки собраны вместе. Я еще не разобрался, почему, но кажется все из-за того же.

А теперь я добавил к одному из IDL-ов новую зависимость.

Та-да, 58 solutions failed to build! Internal compiler error!

Хорошо, что COM мертв, а то бы я его сам приговорил…

Leave a Reply

Your email address will not be published. Required fields are marked *