Linker error



  • Hallo,

    Bei folgendem Programm tritt der Fehler:

    [Linker error] undefined reference to einlesen(float&, float&)' [Linker error] undefined reference tosumme(float)'
    ld returned 1 exit status

    auf. Kann mir einer sagen woran das liegt?

    #include <iostream>
    using namespace std;
    
    extern void einlesen (float&, float&);
    extern float summe   (float);
    
    float a;
    
    int main ()
    {
       float b;
       float summ;
    
       einlesen (a, b);
    
       summ = summe  (b);
       cout << "die Summe a + b ist " << summ << endl;
    
       return 0;
    }
    
    #include <stdio.h>
    
    float summe (float y)
    {
       extern float a;
       return a + y;
    }
    
    #include <iostream>
    using namespace std;
    
    void einlesen (float& x, float& y)
    {
       cout << endl << "Gib einen float-Wert fuer a ein: ";
       cin >> x;
       cout << endl << "Gib einen float-Wert fuer b ein: ";
       cin >> y;
    }
    


  • Du hast nicht geschrieben, wie du das ganze kompiliert hast. Die einzelnen Befehle sind nützlich.



  • Hallo,

    ich hab einfach nur versucht die Datei mit meiner main Methode zu kompilieren. Muss ich die Dateien die ich einbinden will vorher einzeln kompilieren?

    Das Programm hat vorher funktioniert. Die Aufgabe war es eigentlich nur das Programm auf mehrere Quellcodedateien aufzuteilen. Ich hab sowas vorher noch nicht gemacht und weiss garnicht wie ich vorgehen muss.



  • Du musst natürlich alles kompilieren und dann zusammenlinken. Wie das funktioniert ist aber keine Frage zu C++, sondern eine Frage zu deiner Plattform (Betriebssystem und Entwicklungswerkzeuge). Stell am Besten in der passenden Gruppe erneut.


Log in to reply