[C/C++] Dev-C Problem: header + C file includen

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Xen0n, 24. Februar 2008 .

  1. 24. Februar 2008
    Dev-C Problem: header + C file includen

    Hi Leute,

    erstmal sorry, dass ich wegen so einer Kleinigkeit einen Thread aufmache, aber ich komm sonst nicht weiter. Bin noch Anfänger und kenne mich mit Dev-C/C++ nicht aus.
    Mein Problem: (ich habe nicht meinen Quelltext geschrieben, sondern nur ein primitives Beispiel.. geht mir ums Prinzip)

    ich habe folgende 3 Dateien:

    main.c
    Code:
    #include <stdio.h>
    #include "lib.h"
    
    int main () {
    
     zahl1=1;
     zahl2=2;
     printf("Summe: %d", SomeFunction(zahl1,zahl2);
     return 0;
    }
    lib.h:
    Code:
    int SomeFunction(int zahl1, int zahl2);
    
    lib.c:
    Code:
    #include <stdio.h>
    #include <math.h>
    
    int SomeFunction(int zahl1, int zahl2)
    {
    
     int summe;
     
     summe=zahl1 + zahl2;
     return summe;
    }
    
    Muss ich noch was anderes tun außer "#include "lib.h"" in meine main.c zu schreiben? Wenn ich compile, kommt folgende Fehlermeldung:

    Code:
    [Linker error] undefined reference to `SomeFunction(int, int)' 
     d returned 1 exit status 
    
    Wisst ihr was ich falsch gemacht habe? Habe schon geguckt in Optionen usw, aber nichts gefunden..
    In linux müsste ich einfach "gcc main.c lib.c lib.h -o main" schreiben, aber in Windows kenn ich mich nicht aus..

    Danke schonmal für eure Hilfe!
     
  2. 24. Februar 2008
    AW: Dev-C Problem: header + C file includen

    Hey!

    Erstell ein Projekt.
    Zu dem Projekt fuegst du die main.c und lib.c hinzu.

    Dann einfach auf 'kompilieren' druecken und das wars

    Uebrigens waers in Linux:
    Code:
    gcc -c lib.c -o lib.o
    gcc -c main.c -o main.o
    gcc main.o lib.o -o main
    Mfg,

    Kolazomai
     
  3. 24. Februar 2008
    AW: Dev-C Problem: header + C file includen

    Ich danke dir.. endlich kann ich weitermachen ;>
    Mit Linux war ich mich eigentlich fast sicher, aber okay ich denke du wirst es wissen..
    Kann dir leider garkeine BW mehr geben, hab ich vor kurzem erst... aber nächstes mal wieder!


    edit:

    Argh jetzt hab ich folgende Meldung:
    Code:
     C:\Users\***\Project\Makefile.win [Build Error] [main.o] Error 1 
    
    Sry hab echt kp von solchen Dingen, will einfach nur programmieren^^ Was muss ich jetzt machen?
     
  4. 25. Februar 2008
    AW: Dev-C Problem: header + C file includen

    Hey!

    Du hast nur eine Klammer vergessen ( die Rotmarkierte hab ich hinzugefuegt )
    Und bitte immer den ganzen Error-Output posten, da steht bestimmt, dass irgendwas im Sourcecode fehlerhaft war.

    Mfg,

    Kolazomai
     
  5. 25. Februar 2008
    AW: Dev-C Problem: header + C file includen

    Achja,
    außerdem solltest du in deiner lib.c auch die lib.h includen..

    also '#include "lib.h" ' in die lib.c
     
  6. 25. Februar 2008
    AW: Dev-C Problem: header + C file includen

    Ajo schusselfehler ;> Aber is sowieso nicht das richtige Proggi, hatte das hier nur schnell geschrieben um mein Problem darzustellen ;p

    Ich hab echt alles genauso gemacht wie du gesagt hast: ein Projekt erstellt, alle Dateien geadded (sind auch im selben Ordner).
    Die KOMPLETTE Fehlermeldung lautet jetzt:

    " C:\Users\***\project\Makefile.win [Build Error] [main.o] Error 1 "


    Danke, wusst ich garnicht. Aber leider hab ich immernoch dasselbe prob :/

    Is bestimmt irgendwas total simples, aber ich finds einfach nicht..


    edit: die haben dasselbe prob: Makefile.win [Build Error] [main.o] Error 1 - Forum - CHIP Online

    ^^
     
  7. 25. Februar 2008
    AW: Dev-C Problem: header + C file includen

    Hey!

    Du hast uebrigens auch vergessen, zahl1 und zahl2 zu deklarieren ...

    Code:
    #include <stdio.h>
    #include "lib.h"
    
    int main () {
     [color=red]int zahl1 = 1, zahl2 = 2;[/color]
    /*
     zahl1=1;
     zahl2=2;
    */
     printf("Summe: %d", SomeFunction(zahl1,zahl2));
     return 0;
    }
    Und die 'lib.h' musste in 'lib.c' nicht unbedingt includen, ausser du willst die Funktionsprototypen ueberprueft haben ...

    Mfg,

    Kolazomai
     
  8. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.