Unverständliche Linkerfehler bei Header-Benutzung
-
Hallo,
ich habe ein Problem mit Visual Studio 2012 Express, welches ich nicht so ganz verstehe:
Ob ich nun mit CLI oder ohne arbeite, sobald ich eine Funktion aufrufe, die in einer Headerdatei definiert ist, gibt es diese Linkerfehler:
1>Vokabeltrainer.obj : error LNK2028: Nicht aufgel÷stes Token (0A000110) ""void __cdecl TrainEn(void)" (?TrainEn@@$$FYAXXZ)", auf das in Funktion ""void __cdecl VocTrainEn(void)" (?VocTrainEn@@$$FYAXXZ)" verwiesen wird. 1>Vokabeltrainer.obj : error LNK2019: Verweis auf nicht aufgel÷stes externes Symbol ""void __cdecl TrainEn(void)" (?TrainEn@@$$FYAXXZ)" in Funktion ""void __cdecl VocTrainEn(void)" (?VocTrainEn@@$$FYAXXZ)". 1>C:\Users\%Username%\Documents\Visual Studio 2012\Projects\Vokabeltrainer\Debug\Vokabeltrainer.exe : fatal error LNK1120: 2 nicht aufgel÷ste Externe
Woran liegt das?
Was ich gemacht habe:
Zwei Dateien, einmal Header.h und einmal Quelle.cpp
Header.h eingebunden
Funktion "func" aufgerufen, die nichts beinhaltete oder Rechnungen durchfürhte, alles dasgleicheDa tritt der Fehler ein!
Ohne den Funktionsaufruf läuft alles super.
Zum letzten Fehler:
Ich hatte mal d3d9.lib und d3dx9.lib gelinkt, habe das aber wieder herausgenommen! Habe mit DirectX wegen DESGLEICHEN FEHLERS AUFGEHÖRT, DER DORT EINTRAT, SOBALD ICH IRGENDWAS VON DIRECTX
BENUTZT HABE!!Kann mir bitte jemand helfen?
Ich kann so nix mehr programmieren!
Danke!
Player894
-
Player894 schrieb:
Ob ich nun mit CLI oder ohne arbeite, sobald ich eine Funktion aufrufe, die in einer Headerdatei definiert ist, gibt es diese Linkerfehler:
Die dort definiert ist, wirklich? Nicht nur deklariert? Die Definition der Funktion fehlt einfach in deinem Projekt.
-
oh, danke für den Hinweis!!
Ich habe den Fehler dank dir jetzt gefunden, es war genau andersherum:
Ich hatte dummerweise noch andere Funktionen definiert, aber nicht deklariert.
Danke!
Player894
-
Das ergibt zwar keinen Sinn, aber wenn dein Problem damit verschwunden ist ...
:p