[C/C++] Libtar - Undefined Function

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von MisterJ, 22. März 2007 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 22. März 2007
    Libtar - Undefined Function

    Hi Leute!

    Ich probiere gerade mit der libtar rum, da wir in meiner Schule ein Backup-Programm brauchen und das mit shell-Skripten nicht wirklich schnell läuft / eine sehr hohe Serverlast entsteht.
    Wie kann ich die jetzt benutzen? Ich habe mal ein kleines Prog geschrieben:

    Code:
    #include <stdio.h>
    #include <stdlib.h>
    #include <libtar.h>
    
    int main()
    {
     TAR* file;
     tar_open(&file, "/home/julian/c-tar-test/testarchiv.tar", NULL, 0, 0, 0);
     if (file==NULL)
     {
     printf("fehler");
     }
     tar_extract_file(file, "/home/julian/c-tar-test/file");
     return 0;
    }
    Wenn ich das jetzt kompiliere:

    Code:
    gcc -o test main.c 
    /tmp/ccidiJ1c.o(.text+0x3f): In function `main':
    : undefined reference to `tar_open'
    /tmp/ccidiJ1c.o(.text+0x64): In function `main':
    : undefined reference to `tar_extract_file'
    collect2: ld returned 1 exit status
    Das gleiche kommt mit dem g++ raus. Libtar ist installiert, ich habe sie auch mal selber kompiliert, mit dem gleichen Ergebnis. Das gleiche kommt auch mit dem g++ raus. OS ist Linux - Debian.

    Ist der Sourecode jetzt falsch oder ist die Libtar falsch installiert?
     
  2. 22. März 2007
    AW: Libtar - Undefined Function

    Gegen die Lib selbst noch linken. Sonst hast du zwar die Prototypen aber nicht die wiklichen Funktionen.
     
  3. 22. März 2007
    AW: Libtar - Undefined Function

    Ich weiß zwar, was linken ist, aber wie linke ich jeden gegen diese Lib?
     
  4. 22. März 2007
    AW: Libtar - Undefined Function

    Beim MinGW/GCC = -ldeinelib

    Wenn du einen anderen Kompiler nutzt, dann schau einfach mal die Doku zu an.
     
  5. 22. März 2007
    AW: Libtar - Undefined Function

    Code:
    gcc main.c -o prog -ltar
    libtar.so.* sollte dann irgendwo in /usr/lib rumflacken.
    Wenn die lib anders heisst, z.B. libbz2.so.0, dann halt:

    Code:
    gcc main.c -o prog -lbz2
    Uebrigens wuerde ich dir GCC Warnings ( -Wall -W -Werror -O2 ) empfehlen.

    Mfg,

    Kolazomai
     
  6. 22. März 2007
    AW: Libtar - Undefined Function

    Danke, jetzt klappt es. Bewertungen sind draußen.

    ~CLOSED~
     
  7. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.