[GELÖST]Linker Error, obwohl die Lib eingebunden ist :S



  • Hallo

    Bei folgendem Aufruf erhalte ich einen fatal Error LNK1120:

    Direct3D.CreateMandelBrot(30, hDC);
    
    1>MessageHandler.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol 
    ""public: void __thiscall CD3D::CreateMandelBrot(int,struct HDC__ *)" (?CreateMandelBrot@CD3D@@QAEXHPAUHDC__@@@Z)" 
    in Funktion ""long __stdcall MessageHandler(struct HWND__ *,unsigned int,unsigned int,long)" (?MessageHandler@@YGJPAUHWND__@@IIJ@Z)".
    

    Ich möchte in der Methode CreateMandelBrot() die Funktion SetPixel(hDC,x,y,RGB(22,181,199)); nutzen. Dazu benötige ich das Handel hDC.

    Einige Zeilen weiter oben benutze ich einen Aufruf, der ebenfalls eine HDC- Struktur als Parameter besitzt, der Funktioniert ohne Probleme:

    MoveToEx(hDC,0,0,NULL);
    

    Ich habe die Datei CD3D.h mit CD3D.cpp und eine Datei MessageHandler.cpp in der ein Objekt von CD3D erstellt wird. Dort rufe ich anschliessend die Methode CreateMandelBrot auf die sich in CD3D befindet.

    Klar ist es total Gaga, in einem Direct3D- Objekt GDI zu nutzen, tut hier aber nichts zur Sache.

    Warum erhalte ich diese Meldung? Die nötige Lib gdi32.lib ist eingebunden und der Aufruf von MoveToEx klappt ohne Fehler.

    Besten Dank für allfällige Hilfe

    Gruss
    GB


  • Mod

    wenn CD3D.cpp compiliert wird und die funktion enthaellt, dann ist die funktion wohl auch vorhanden. vielleicht kannst du ein wenig mehr source zeigen.

    mit irgendwelchen libs hat es nichts zu tun.



  • Danke für die Antwort

    Habe den Fehler gefunden *doh*
    Habe vergessen bei der Methodendefinition den Klassennamen anzugeben --> CD3D::Methode

    Habe ich total übersehen. Funktioniert nun wunderbar.

    Gruss
    GB


Anmelden zum Antworten