Fehler beim compilieren



  • Moin moin,
    ich habe vor, mit visual Studio 13, eine eigene engine zu schreiben, doch schon bei der Initialisierung eines 800x600 Fensters kommen bei fehlerfreiem Quellcode:

    Fehler 1 error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: void __thiscall SystemClass::Shutdown(void)" (?Shutdown@SystemClass@@QAEXXZ)" in Funktion "_WinMain@16".

    und

    Fehler 2 error LNK1120: 1 nicht aufgelöste Externe

    😕 HILFE 😕

    Danke, Daniel



  • Wenn der Quellcode fehlerfrei ist, muss wohl der Compiler kaputt sein. Mein Beileid.

    Oder du schaust mal, ob die beanstandete Funktion definiert ist? Möglichkeiten u.a.: Du hast sie vergessen zu implementieren, oder du hast sie in einem cpp-File inline definiert, oder du hast die dazugehörige Datei nicht im Projekt.



  • Tja, sobald VS merkt, daß der Code so etwas ähnliches wie eine Engine darstellen soll, spinnt der halt rum 😉

    Dies ist kein Compiler-Fehler, sondern ein Linker-Fehler, d.h. die Funktion SystemClass::Shutdown() hast du anscheinend nirgendwo definiert (sondern nur in der Klassendefinition angegeben).

    PS. Lass das "void" für eine leere Parameterliste in C++ weg.



  • Th69 schrieb:

    PS. Lass das "void" für eine leere Parameterliste in C++ weg.

    Der Funktionsname wurde vom Linker aus dem gemangelten Symbol rekonstruiert. Wie genau die Signatur im Programm aussieht ist daraus nicht ersichtlich.



  • Wenn ich's void weglasse hagels Fehler ohne Ende



  • Nein, es geht hierdrum

    void foo() {} // ok so, hier ist alles gut
    void foo(void) {} // auch kompilierbar, aber schlechter stil, lass das void in den Parameterklammern weg
    


  • ich habe ja nichts in den klammern stehen:

    bool Initialize();
    	void Shutdown();
    	void Run();
    

    Dennoch habe ich die beiden Fehler. und in den Einstellungen vom Linker habe ich auch nichts gefunden 😡



  • Zeig mal die Definition von Shutdown.
    Gekürzt, das, was in den geschweiften Klammern steht ist egal.



  • Wieso versteifst du dich so auf das PS bei der einen Antwort? Das hat nichts mit deinem Problem zu tun. Lies die beiden gegebenen Antworten.



  • also nen Fehler im linker/ falsche Einstellung dessen?
    kann nur keinen Verweis auf eine externe Abhängigkeit gefunden mit Außnahme von Bibliotheken und die habe ich auf meine Direkt X Ordner verwiesen



  • Hoffnungslos.



  • Schreib das mal hinter die main-Funktion:

    void SystemClass::Shutdown(){}
    

    Bashar schrieb:

    Hoffnungslos.

    Ich habe zu viel Langeweile um mich davon stören zu lassen.


  • Mod

    nwp3 schrieb:

    Ich habe zu viel Langeweile um mich davon stören zu lassen.

    Dann geh und mach Zahlentheorie. Ist super spannend. Bashar kanns bestätigen.



  • Arcoth schrieb:

    nwp3 schrieb:

    Ich habe zu viel Langeweile um mich davon stören zu lassen.

    Dann geh und mach Zahlentheorie. Ist super spannend. Bashar kanns bestätigen.

    Dann geh und beantworte meine Frage: http://www.c-plusplus.net/forum/324731



  • herrfloh schrieb:

    Dann geh und beantworte meine Frage: http://www.c-plusplus.net/forum/324731

    Das ist mir zu hoch, aber ich sage lieber, dass das Forum nicht dazu da ist anderer Leute Hausaufgaben zu machen (an diese Stelle müssen noch Vorwürfe wegen mangelnder Eigenbeteiligung rein). Ich bin etwas erschrocken wie gut ich mir das Forenverhalten angeeignet habe.



  • Arcoth schrieb:

    Dann geh und mach Zahlentheorie. Ist super spannend. Bashar kanns bestätigen.

    Huch? Du musst mich mit jemandem verwechseln. Ich hatte bis jetzt nicht die Motivation, mich wirklich eingehend mit Zahlentheorie zu beschäftigen.


Log in to reply