Meine Module wollen nicht so wie ich es gerne hätte...



  • Hallo,
    habe ein kleines Progrämmchen geschrieben und versuchte dann einzelne Funktionen in verschiedene Module auszugliedern und da funktioniert dann gar nichts mehr. Funktionen werden nicht gefunden...

    /*mydir.c*/
    #include <stdio.h> 	
    #include <io.h>
    #include <string.h>
    #include <time.h>
    #include "datetime.h"
    int main(int argc, char **argv)
    {
    struct _finddata_t entry;
    int done = 0;
    long handle;
    char sSearchDir[32];
    struct tm DataInfo;
    strcpy( sSearchDir, argv[1] );
    strcat( sSearchDir, "\\*.*" );
    if ((handle = _findfirst (sSearchDir,&entry))!= -1L)
    {
        while(!done)
        {
        convertDate(entry.time_write,&DataInfo.tm_mday, &DataInfo.tm_mon, &DataInfo.tm_year);     //Funktion soll in datetime.c stehen
        convertTime(entry.time_write,&DataInfo.tm_hour, &DataInfo.tm_min);                        //Funktion soll in datetime.c stehen
        printf("%02i.%02i.%4i %02i:%02i %-12i %s\n",DataInfo.tm_mday,DataInfo.tm_mon,DataInfo.tm_year,DataInfo.tm_hour,DataInfo.tm_min, entry.size, entry.name);
        done = _findnext(handle, &entry);
        }
        _findclose(handle);
        }
    else
    {printf("Datei nicht gefunden!");}
    }
    
    /******************************************************************/
    /*datetime.h*/
    #ifndef __DATETIME_H
    #define __DATETIME_H
    
    #include <time.h>
    #include <io.h>
    
    extern void convertDate(time_t time, int *day, int *month, int *year);
    
    extern void convertTime(time_t time, int *hour, int *min);
    #endif
    
    /********************************************************************/
    /*datetime.c*/
    #include "datetime.h"
    
    void convertDate(time_t time, int *day, int *month, int *year)
    {
        struct tm zeitdaten;
        zeitdaten = *localtime(&time);
        *month = zeitdaten.tm_mon + 1;
        *day = zeitdaten.tm_mday;
        *year = zeitdaten.tm_year + 1900;
    }
    
    void convertTime(time_t time, int *hour, int *min)
    {
        struct tm zeitdaten;
        zeitdaten = *localtime(&time);
        *hour = zeitdaten.tm_hour;
        *min = zeitdaten.tm_min;
    }
    

    Wo liegt mein Fehler?



  • Kompiliert einwandfrei, stürzt aber ab...



  • Sach mal ob des ein Compiler oder Linkerfehler Runtimefehler ist und die _genaue_ Fehlermerldung. Dann werden Sie geholfen!

    Servus



  • Bekomme folgende Fehlermeldung:
    [Linker error] undefined reference to 'convertDate'
    [Linker error] undefined reference to 'convertTime'
    bekomme einfach keine Kompilation zustande....



  • Wie kompilierst und linkst Du die Dateien denn? (Mit welchem Aufruf?)



  • Ich kompiliere die C Datei mit der Main Funktion mit Dev-C++



  • Die datetime.c hast du deinen Projektdateien aber schon hinzugefügt, oder??



  • Ja, das war der Fehler, habe ohne ein neues Projekt anzulegen neue Module erstellt und einzelne Fragmente ausgelagert. Nun hat es geklappt. Vielen Dank für die Hilfe.
    mfg


Anmelden zum Antworten