Использовать интерфейс COM без статической ссылки на библиотеку - PullRequest
4 голосов
/ 22 сентября 2011

Это может быть чем-то вроде вопроса новичка, но я просто не знаю!Чтобы использовать функцию в DLL, которая может отсутствовать в системе, я могу использовать LoadLibrary, а затем GetProcAddress.Но как я могу сделать то же самое для интерфейса COM?Я могу включить заголовочный файл для объявлений, IID и т. Д., Но я не хочу ссылаться на сопровождающую библиотеку, используя #pragma comment(lib, "blabla.lib").

(я пытаюсь использовать WICImagingFactory интерфейс, и для компиляции требуется соединение с windowscodecs.lib)

Спасибо

1 Ответ

5 голосов
/ 22 сентября 2011

Нет необходимости бороться со ссылками на windowscodecs.lib. Связывание с ним не приводит к неявному связыванию, как если бы вы использовали библиотеку не-COM.

Вам по-прежнему необходимо вызывать CoCreateInstance() так же, как и для любого COM-объекта. Думайте об этом как о связывании во время выполнения, эквивалентном GetProcAddress.

...