Dateien auslagern ? Anfängerfrage



  • Hi,

    Ich möchte 2 funktionen in 2 dateien auslagern. Es kommen folgende Fehler:

    multiple definition of volumen' first defined here multiple definition ofobfl'
    first defined here
    ld returned 1 exit status

    Wahrscheinlich ist es ein einfacher Fehler, aber ich als C-noob finde ihn nicht... Danke für die Hilfe !

    main.c:

    #include <stdio.h>
    #include "oberflaeche.h"
    #include "volumen.h"
    
    #define pi 3,1415
    
    int main()
    {
    float d;
    
    printf("Bitte den Durchmesser angeben: ");
    scanf("%f", &d);
    
    printf("Volumen: %f ", volumen(d));
    printf("\nOberflaeche: %f ", obfl(d));
    scanf("%f", &d);                       //Prog-anhalten
    } /* main */
    

    oberflaeche.c

    #define pi 3.1415
    
    float obfl(float d) {
          float vol = pi * d * d;
    	return vol;
    }
    

    oberflaeche.h

    #ifndef OBERFLAECHE_H_
    #define OBERFLAECHE_H_
    
    #define pi 3.1415
    
    float obfl(float d);
    
    #endif /* OBERFLAECHE_H_ */
    

    volumen.c:

    #define pi 3.1415
    
    float volumen(float d) {
          float vol = (pi / 6) * d*d*d;
    	return vol;
    }
    

    volumen.h:

    #ifndef VOLUMEN_H_
    #define VOLUMEN_H_
    
    float volumen(float d);
    
    #endif /* VOLUMEN_H_ */
    


  • Hast du irgendwo ein #include "volumen.c" oder #include "oberflaeche.h" ?

    Welchen Compiler/IDE benutzt du?
    Können da noch Reste in der Projektverwaltung oder im makefile sein?



  • Danke Dirk.

    Ich weiß nicht genau, was der Fehler war, aber nach "alles erneuern" funktionierte es. DEVcpp.



  • zzr schrieb:

    Ich weiß nicht genau, was der Fehler war, aber nach "alles erneuern" funktionierte es.

    Ja, hilft.

    zzr schrieb:

    DEVcpp.

    Hoffentlich keine Uraltversion aus irgendeinem Buch/Tutorial: https://de.wikipedia.org/wiki/Orwell_Dev-C%2B%2B


Anmelden zum Antworten