У меня есть фильтр DirectShow ( MonogramAAC encoder ), успешно компилируемый.Он также успешно регистрируется, однако, когда я пытаюсь создать экземпляр фильтра в GrapheditPlus, он показывает CO_E_ERRORINDLL
.После проверки свойств фильтра в GraphEditPlus фильтр фактически был связан с RegSvr32.exe вместо действительной библиотеки DLL хоста!
Вот доказательство:
![enter image description here](https://i.stack.imgur.com/XWttR.png)
![enter image description here](https://i.stack.imgur.com/oyCM7.png)
Я уверен, что файл .def в компоновщике правильный, я также проверял, что он рассматриваетсякомпилятор и он правильно указывает на фильтр DLL.
Небольшая информация о bakground:
Мне не удалось заставить исходный проект компилироваться в Visual Studio 2017 после автоматического преобразования. (Мне не удалось устранить странные ошибки компоновщика библиотеки MFC и среды выполнения между фильтром Monogram и библиотекой libaac.lib
, которые я также могу успешно компилировать) .
Наконец-то я решил воссоздать новый проект VS2017, имитирующий оригинальный, и получил его для компиляции и регистрации (единственное предупреждение - несоответствие между именем проекта и выходной библиотекой), но, очевидно, я пропустилчто-то важное при воссоздании проекта.
Есть указатели?