c ++ - Brug COM interface uden statisk link til bibliotek

Indlæg af Hanne Mølgaard Plasc

Problem



Dette kan være lidt af et nybegynderspørgsmål, men jeg ved det bare! For at bruge en funktion i en DLL, der måske ikke er til stede på systemet, kan jeg bruge LoadLibrary og derefter GetProcAddress. Hvordan kan jeg gøre det samme for en COM-grænseflade? Jeg kan inkludere hovedfilen til erklæringerne, IID 's osv. men jeg vil ikke linke til det medfølgende bibliotek ved hjælp af #pragma comment(lib, "blabla.lib").


(Jeg forsøger at bruge grænsefladen WICImagingFactory, og det kræver, at du linker til windowscodecs.lib for at kompilere)


Tak

Bedste reference


Der er ingen grund til at kæmpe mod at forbinde windowscodecs.lib. Kobling imod det resulterer ikke i implicit linking som du ville få til et ikke-COM-bibliotek.


Du skal stadig ringe CoCreateInstance() som du ville for ethvert COM-objekt. Tænk på dette som at være runtime bindende svarende til GetProcAddress. [7]