Problem mit jpeglib.h

  • Hab mich ein wenig mit der jpeglib herumgespielt, da ich sie in einem meiner Programme einbinden möchte. Beim compilen erhalte ich, eine mir mehr oder weniger unverständliche Fehlermeldung:

    Code
    /tmp/ccGaLaHP.o(.text+0x2b0):test.c: undefined reference to `jpeg_stdio_src'
  • Danke, dieser Rat hat mir weitergeholfen.
    Warum jedoch reicht es nicht im zu kompilierenden File einfach alles mittels Include einzubinden, wie man es etwa mit stdio.h macht?

  • Warum jedoch reicht es nicht im zu kompilierenden File einfach alles mittels Include einzubinden, wie man es etwa mit stdio.h macht?


    Das Header-File enthält nur Deklarationen der verwendeten Funktionen (und Makros, Typen etc.). Die Definitionen der Funktionen, also der wirkliche Code, sind in Libraries zu finden.

    Der Compiler (bzw. richtigerweise der Linker) weiß nicht, welcher Header zu welcher Library gehört, also muß man das explizit angeben. Die Standard-Library ist da eine Ausnahme, die wird automatisch immer eingebunden; die in stdio.h deklarierten Funktionen gehören da dazu. (Noch eine Ausnahme gibt es: Unter Unix ist es traditionell so, daß die Funktionen von math.h, obwohl auch zur Standard-Library gehörig, nicht automatisch gelinkt werden. Wenn man also math.h verwendet, ist normalerweise auch ein -lm auf der Kommandozeile für den Linker notwendig.)

    *plantsch*

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!