Это только я или Mt.exe ненавидят абсолютные пути в опции -dll
?
У меня есть проект Visual C ++ в Visual Studio 2008 со ссылкой наизолированные (без регистрации) COM DLL.Я копирую COM DLL в выходную директорию проекта, используя событие Pre-Build.В свойствах проекта в диалоговом окне «Свойства конфигурации»> «Инструмент манифеста»> «Изолированный COM» я использовал следующие параметры:
Type Library File: $(OutDir)\MyCom.tlb
Registrar Script File:
Component File Name: $(OutDir)\MyCom.dll
Replacements File:
Visual Studio показывает сгенерированную команду командной строки:
mt.exe /nologo
/tlb:"C:\[ ... snip ... ]\OtherProject\Release\MyCom.tlb"
/dll:"C:\[ ... snip ... ]\OtherProject\Release\MyCom.dll"
/outputresource:"..\Release\OtherProject.exe;#1"
Он прекрасно работает, но я получаю исключение FileNotFound во время выполнения.Приложение не может найти MyCom.dll!Изменение Component File Name
на следующий относительный путь работает нормально:
Component File Name: ..\$(ConfigurationName)\MyCom.dll