Library nicht gefunden!?
-
Hallo, ich fange gerade an mit directshow zu pragrammieren. Das erste Consolen Programm zum Abspielen eines Videos habe ich auch zum laufen bekommen. Wenn ich nun versuche das selbe Programm(ein wenig abgeändert) mit Visual Studio 2005 als WinForms Projekt zu schreiben. Ich habe bisher nur einen Button auf die Oberfläche gezogen, der halt das selbe macht wie das Consolen Programm.
Nun bekomme ich allerdings folgende Fehlermeldung:1>Kompilieren... 1>hallo.cpp 1>Verknüpfen... 1>hallo.obj : error LNK2020: Nicht aufgelöstes Token (0A00000F) IID_IMediaEvent. 1>hallo.obj : error LNK2020: Nicht aufgelöstes Token (0A000010) IID_IMediaControl. 1>hallo.obj : error LNK2020: Nicht aufgelöstes Token (0A000011) CLSID_FilterGraph. 1>hallo.obj : error LNK2020: Nicht aufgelöstes Token (0A000012) IID_IGraphBuilder. 1>hallo.obj : error LNK2001: Nicht aufgelöstes externes Symbol "IID_IMediaEvent". 1>hallo.obj : error LNK2001: Nicht aufgelöstes externes Symbol "IID_IMediaControl". 1>hallo.obj : error LNK2001: Nicht aufgelöstes externes Symbol "IID_IGraphBuilder". 1>hallo.obj : error LNK2001: Nicht aufgelöstes externes Symbol "CLSID_FilterGraph". 1>C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\Visual Studio 2005\Projects\hallo\Debug\hallo.exe : fatal error LNK1120: 8 nicht aufgelöste externe Verweise. 1>Das Buildprotokoll wurde unter "file://c:\Dokumente und Einstellungen\Administrator\Eigene Dateien\Visual Studio 2005\Projects\hallo\hallo\Debug\BuildLog.htm" gespeichert. 1>hallo - 9 Fehler, 0 Warnung(en) ========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========Ich habe die erforderlich Library "strmiids.lib" unter Projekteigenschaften->Linker->Eingabe->Zusätzliche Abhängigkeiten hinzugefügt. Dennoch bleibt der Fehler.
Hier nochmal die Linker Befehlszeile:
/OUT:"C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\Visual Studio 2005\Projects\hallo\Debug\hallo.exe" /INCREMENTAL /NOLOGO /MANIFEST /MANIFESTFILE:"Debug\hallo.exe.intermediate.manifest" /DEBUG /ASSEMBLYDEBUG /PDB: "c:\Dokumente und Einstellungen\Administrator\Eigene Dateien\Visual Studio 2005\Projects\hallo\debug\hallo.pdb" /SUBSYSTEM:WINDOWS /ENTRY:"main" /MACHINE:X86 /FIXED:No /ERRORREPORT:PROMPT ole32.lib strmiids.libBenutze DirectX 9.0 SDK und MSN Visual Studio 2005.
Ich bin für jede Hilfe dankbar.
-
Versuch mal die dll als Reference hinzuzufügen.
-
Mal ganz doof gefragt: Wo/Wie mache ich das? Und welche dll meinst du?
-
Ich kann nur raten, da ich mit *.lib's noch nicht gearbeitet habe. Da es sich aber wohl um statische Bibliotheken handelt, denke ich mal, funktioniert es genauso wie die dll's, welche ja dynamische Bibliotheken sind.
Dementsprechend musst du diese als neue Referenz hinzufügen. Dazu gehst du im Projektmappen-Explorer (meistens linker Bildschirmrand, da wo sämtliche im Projekt befindlichen Dateien und Abhängigkeiten in einer Art tree-Ansicht zusammengefasst sind) mit der rechten Maustaste auf den Unterpunkt "Verweise". Dort dann auf "Verweis hinzufügen". Jetzt öffnet sich ein Fenster wo du schon bekannte Sachen aufgelistet bekommst. Ist deine lib nicht dabei, so musst du auf "Durchsuchen" und den Pfad selbst ausfindig machen. Schließlich erscheint sie dann am unteren Fensterrand im Bereich "Ausgewählte Komponenten". Jetzt auf "OK" und .net ruft den Linker selbst auf und fügt diese lib in dein Projekt ein. Evtl. musst du in deinem Projekt noch den Namespace mittels "using namespace BEISPIEL" aufrufen, weiß es aber nicht genau.Jetzt müsste es eigentlich klappen.
-
Dieser Thread wurde von Moderator/in Jochen Kalmbach aus dem Forum C++/CLI mit .NET in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.