PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wichtig: C Warnung gesucht


Matrix316
2005-12-01, 20:01:43
Was heißt denn genau:

warning LNK4049: Lokal definiertes Symbol "_strrchr" importiert
warning LNK4049: Lokal definiertes Symbol "_sprintf" importiert

(kommt beim linken, kompilieren geht)

Coda
2005-12-01, 20:06:35
Mehr Informationen. Was für Libraries linkst du und was für Objekte?

zeckensack
2005-12-01, 20:06:38
Google sagt: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/LNK4049.asp

Du exportierst _strrchr und _sprintf aus dem gleichen Programm (bzw DLL), dass eben diese beiden Symbole auch (aus der C-Runtime) importiert. Der werte Herr Linker kann damit zwar um, weist dich aber darauf hin dass dies ein Fehler sein könnte.

Und dein Thread ist nicht wichtiger als die anderen Threads.

Matrix316
2005-12-01, 21:27:31
Doch, weil ich die Antwort schnell brauche. ;)

Aber ehrlich gesagt, hilft mir die Antwort auch nicht weiter, die Microsoft gibt.

Coda
2005-12-01, 21:45:54
Mehr Informationen. Was für Libraries linkst du und was für Objekte?

Matrix316
2005-12-02, 00:48:58
winmm.lib strmiids.lib strmbasd.lib

Die winmm.lib hab ich jetzt eingefügt, weil ich diese Fehlermeldung bekam:

Nichtaufgeloestes externes Symbol __imp__timeGetTime@0

Die mir auch nicht viel sagt. ;)

Also ich arbeite an einem Programm, welches ich nicht selbst geschrieben habe, sondern ich soll es nur erweitern. Mit dem Programm kann man ein Video öffnen und dann bestimmte Bereiche, die man markiert, tracken, also verfolgen. Ich soll jetzt einbauen, dass ein Teil des Videos, wenn ich einen Button klicke, aufgenommen wird (was an sich schon etwas kompliziert war), und dafür soll ich noch einbauen, dass das aktuelle Bild, was in Mitten dieser Szene ist, gegrabbt und im Programm angezeigt werden soll. Dafür versuche ich gerade Händeringend das DirectShow Sample (aus dem DXSDK) "StillCab" einzubauen, was mir die Fehlermeldung mit dem "timeGetTime" einbringt.

Erschwerend kommt hinzu, dass im Ursprungsprogramm der Dialog, also die Buttons, das Videofenster etc. des Programms in einer eigenen Klasse ist, während die Videographen in einer anderen Klasse sind (nicht so wie im DirectShow Sample Still Cap wo alles irgendwie in einem ist). Jedenfalls funktioniert die Callbackfunktion für den Sample Grabber nicht richtig. Und vielleicht liegts ja an der Fehlermeldung ganz oben.

Oder gibts noch eine einfachere Möglichkeit, als die im StillCap Sample (was eigentlich genau das macht, was ich einbauen will), wie ich aus einem laufenden Videographen ein Bild rausgrabben kann?

Ich habe ein Objekt der Klasse CXYVideo angelegt (in dem laut Sample SEMI-COM Objekt, was eine eigene Klasse ist die vom ISampleGrabberCB abgeleitet scheint) bzw. einen Zeiger darauf und ich versuche damit das Bild wo das Bitmap rein soll zu bekommen:

CXYVideo *pCXYVideo;
pCXYVideo->GetDlgItem( IDC_BITMAP, &hwndStill );

Aber in dieser Zeile gehts nicht weiter. Da gibts irgendeinen Fehler.

EDIT:

Ach ja: Diese Warnung kommt auch noch:

Alle Verweise auf "WINMM.dll" wurden durch /OPT:REF verworfen