F
Ich habe dieses Problem schon länger, konnte bisher immer relativ zufällig doch irgendwie durchkommen. Ich habe mir für meine Programme eine Engine geschrieben, die schon relativ umfassend ist. Sie besteht aus etwa 10 headern und einer cpp datei. Es gibt einen Hauptheader und dazu gehört auch die cpp. die beiden bilden den Kern der Engine, von dem Hauptheader werden alle anderen Header includiert. Die Funktionen der Engine an sich (also die, die im Hauptheader vorwärtsdeklariert wurden) sind in der cpp ausgeschrieben. alle Funktionen aller anderen Dateien (jeder Header beinhaltet eine eigene Klasse) werden auch direkt in der Klasse geschrieben.
Praktisch: Hauptdatei.h - vorwärtsdeklarationen der allgemeinen Engine und includieren der anderen Komponenten; Hauptdatei.cpp schreibt die Funktionen der Hauptdatei.h aus.
Alle von Haupdatei.h includierten Dateien beinhalten EINE Klasse und schreiben direkt die Funktionen der Klasse. Libraries gibt es auch nicht, woher auch? Meine Engine sind ja nur ein Haufen Dateien. Muss ich die ggf mal alle Kompilieren zu einer Engine.lib oder so?
Ohne vorwarnung kommen aber einfach mal Fehler, bei der die halbe Engine nicht mehr geht, obwohl sich nichts ändert. Der typische Fehler "nicht aufgelöstes externes Symbol" meistens, doch ich includiere die Engine EINMAL und die Engine selbst includiert nichts weiter. Also warum sind plötzlich Funktionen externe Symbole? Ich bin total am Ende, vor allem weil es bei jedem Programm das selbe ist und urplötzlich wieder geht, ohne, dass ich was ändere.
Hoffe mir kann einer helfen. Danke schonmal