Undefined Reference ...



  • Hi,

    ich verstehe das Problem noch nicht richtig:

    nm libvtkIO.dll
    

    zeigt mir unter anderem folgendes:

    200f27d2 T __ZN12vtkPNGWriter3NewEv
    

    Soweit so gut.

    Mein Programm zeigt beim Linken folgenden Fehler:

    myFile.o(.text+0x61f6):myFile.cc:170: undefined reference to `vtkPNGWriter::New()'
    

    Was bedeutet das? Die oben genannte libvtkIO.dll wird mit-gelinkt und steht rechts von myFile.o bei der Link-Anweisung.
    Mit Header-Files kann das Problem nichts zu tun haben, wenn der Compiler ohne Fehler durchläuft, oder?

    Gruss, KB



  • Karl Blau schrieb:

    Was bedeutet das?

    Das bedeutet, dass in myFile.cc die Funktion vtkPNGWriter::New() aufgerufen wird, der Linker aber nirgendwo die Definition davon finden kann. Lösung: linke das Modul, in dem sich die Definition befindet, hinzu.

    Karl Blau schrieb:

    Die oben genannte libvtkIO.dll wird mit-gelinkt und steht rechts von myFile.o bei der Link-Anweisung.

    DLL's werden nicht gelinkt, das sind ja bereits Executables. Du musst Objekt- bzw. Bibliotheksdateien linken. Beim MSC sind das zB .obj und .lib Dateien, beim GCC .o und .a Dateien.


Anmelden zum Antworten