Eigene Header Dateien



  • Guten Abend

    Ich steh vor einem Problem, dass ich einfach nicht lösen kann.

    Ich möchte ein Programm schreiben, für das ich eigene Header Dateien benutze, um eine bessere Übersicht über mein Hauptprogramm zu erhalten.

    Mein Problem ist jedoch, dass ich immer 2 Fehlermeldungen bekomme. Ich weiß nicht, worans liegt und brauche nun Hilfe.

    Also einfaches Beispiel:
    Ich erstelle in meinem Projekt unter <Quelldateien> eine neue Header Datei, genannt "test.h"

    int addition(int x, int y)
    {
    	return (x+y);
    }
    

    Zudem erstelle ich unter <Quelldateien> eine .cpp Datei, in der meine main() Funktion ausgeführt wird.

    #include <iostream>
    using namespace std;
    
    #include "test.h"
    
    int main()
    {
    	int x = 10, y = 5;
    
    	cout << addition(x, y) << endl;
    
    }
    

    Fehlt hier etwas? Oder habe ich etwas falsch geschrieben?
    Ich erhalte folgende 2 Fehlermeldungen:

    1.)1>MSVCRTD.lib(crtexew.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_WinMain@16" in Funktion "___tmainCRTStartup".

    2.) fatal error LNK1120: 1 nicht aufgelöste externe Verweise.

    Ich habe im Internet schon einige Recherchen angestellt. Scheinbar soll der Linker zwischen Header und .cpp nicht vorhanden sein oder ähnliches. Wie löse ich meine Problem?



  • Kann es sein, daß Du statt eines Konsolenprojektes ein Windowsprojekt erstellt hast?



  • Technische Ergänzung: In einem Header solltest du keine Funktions-Definition unterbringen (außer Inline-Funktion und Templates), sonst bekommst du auf lange Sicht andere Probleme mit dem Linker (Stichwort: ODR).



  • Caligulaminus, Du hast Recht. Ich habe eine Windowsprojekt erstellt.

    Mir war nicht bewusst, dass dies zu Problemen führt. 😕
    Ich teste es mal mit 'nem Konsolenprojekt.
    Dankesehr.



  • Es funktioniert. Vielen Dank, für die Hilfe.




Log in to reply