PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Frage zu error LNK2001


pajofego
2004-08-24, 18:11:15
Also wie schon in der Überschrift erwähnt habe ich folgende Fehlermeldung:

"error LNK2001: Nichtaufgelöstes externes Symbol "protected: virtual void __thiscall clAvalanche::RenderW1(void)" (?RenderW1@clAvalanche@@MAEXXZ)"

Ich habe bei mir nur folgenden den Rumpfcode der Methode RenderW1 geändert:


// In der Headerdatei
protected:
virtual void RenderW1(int Value);
//..

// In der cpp Datei
void clAvalanche::RenderW1(int Value)
{
//code
}


Vorher wurde der Methode RenderW1 kein Wert übergeben, jetzt nach ein paar Wochen musste ich den Code ändern und wundere mich, dass er das nicht akzeptieren will. Wie ich aus der Fehlermeldung ersehen kann, hat der noch den Verweis auf die alte Methode. Muss ich irgendwo einen Schalter drücken damit er die neue Methode übernimmt?

Danke an euch,

beste Grüße

pajofego

RLZ
2004-08-24, 22:37:39
Ich würde mal vermuten irgendwo wurde die Datei noch inkludiert, wurde aber nicht neu compiliert. Beim Linken geht das aber fürchterlich schief, weil diese Funktion nimmer existiert.
Typischer Fall von make clean ;)
Einfach alles neu compilieren sollte schon helfen.

pajofego
2004-08-25, 00:29:02
Ich würde mal vermuten irgendwo wurde die Datei noch inkludiert, wurde aber nicht neu compiliert. Beim Linken geht das aber fürchterlich schief, weil diese Funktion nimmer existiert.
Typischer Fall von make clean ;)
Einfach alles neu compilieren sollte schon helfen.

Danke für deine Antwort. Habe die Methode erste einmal unbenannt, compiliert -> Fehlermeldung -> danach wieder zu RenderW1(int Value) zurückunbenannt, danach hatte er es geschluckt. Kappiert habe ich es zwar nicht , aber wenns schön macht!

Asmodeus
2004-08-25, 09:03:20
Unter Visual Studio kann dieser Fehler glaube ich auftreten, wenn man in den Projekteigenschaften vorkompilierte Header verwendet, bin mir aber nicht ganz sicher.

Gruss, Carsten.