Если я правильно понял, фильтр должен быть компонентом COM.Вы можете, вроде, написать те из большинства компиляторов, если это будет необходимо.
Тем не менее, этот шаблон будет невероятным , у меня была кодовая база 18kloc, которая превратилась в 25kloc, когда превратилась в компоненты COM (в конечном итоге она повернулась обратно только потому, что было больше COM шаблоначем настоящий код для небольших плагинов).
MFC не требуется или всегда участвует в написании COM-компонентов, о которых я знаю.
ATL помогает значительно упростить это, предоставляя шаблоны и функции дляобрабатывать много деталей во время компиляции.Вы можете использовать его из GCC, но я не уверен, что произойдет;Я сомневаюсь, что это будет работать хорошо, хотя это может работать.
Без ATL вам нужен MIDL и для генерации кода оттуда.Это возможно с помощью бесплатных инструментов, это делается в нескольких местах в проекте Wine;вы можете проверить код и набор инструментов там.
Неважно, где вы это сделаете, это будет боль и серьезная боль, если вы будете настаивать на использовании «действительно бесплатных» инструментов (так как онине предназначен специально для работы с COM).