У меня есть устаревшее решение Visual Studio, которое содержит несколько проектов (было обновлено до Visual Studio 2013). Один из этих проектов генерирует COM-DLL. TLB из этой DLL затем импортируется в файл IDL другого проекта через атрибут importlib. Когда компилятор MIDL пытается скомпилировать файл IDL зависимого проекта она генерирует следующее предупреждение:Предупреждение MIDL2015 при использовании атрибута importlib
предупреждение MIDL2015: не удалось загрузить TLB в importlib
Когда я использую полный путь к TLB файл работает.
Я пробовал добавить путь к свойству MIDL -> Дополнительное включение каталогов, но я думаю, что это только для файлов IDL, заголовков и ACF (/I switch).
Я также попробовал Linker -> Свойства дополнительных библиотек, но это тоже не сработало.
Какой путь поиска используется MIDL при разрешении атрибутов importlib?
Думаю, вы должны использовать относительный путь к другому проекту - вы строите их один за другим, не так ли? – sharptooth
За исключением того, что они идут в каталоги на основе конфигурации сборки. Думаю, я мог бы обойти это с #ifdefs (если это работает с компилятором MIDL). Я не мог разработать способ добавления суффикса в файл TLB (например, D для отладки) без нарушения RC-файла. – Steiny