unresolved external symbol
-
Hi zusammen ich hab mir was zu FFTs ausm Netz gesucht, und nun kann ich es nicht kompilieren, weiß aber nicht warum. Wenn ich compilieren will, dann bringt er mir immer
DQFT.obj : error LNK2001: unresolved external symbol "public: __thiscall DSecantTable::DSecantTable(int)" (??0DSecantTable@@QAE@H@Z)
DQFT.obj : error LNK2001: unresolved external symbol "public: __thiscall DSecantTable::~DSecantTable(void)" (??1DSecantTable@@QAE@XZ)Die Stelle wo das ist, ist auch nicht wirklich viel!
//Note these tables are built using complex multiplication to //rotate the previous entry. It would be more accurate to //use sin and cos for every entry. class DSecantTable { double **secants; double **rotations; int maxln; public: double *operator [](int i) { return secants[i]; } double *Rotations(int i) { return rotations[i]; } DSecantTable(int i); ~DSecantTable(); };
Das ist schon die ganze Klasse aber in der CPP find ich nur
DSecantTable DQFT::Secants(MaxQFT);
was danach aussieht.
kann mir das einer von euch erklären?
Ich versteh es leider nicht.
Die FFTs klappen aber mit genau dem Quellcode, denn ich hab ein Demoprojekt aus dem ich den Source hab. Dort gehts bei mir im Projekt nicht
Vielen Dank schon im Voraus für eure Hilfe
-
Kann mir hier keiner helfen??
Ist irgendwas nicht verständlich beschrieben wenn ja was?
Irgendwer weiß doch immer ne Lösung
-
Sagen wirs mal so: Ich weiß, was da angemeckert wird und wie man es behebt - aber nicht, warum das im Demo nicht angemeckert wurde.
Diese beiden Zeilen haben kein Gegenstück im cpp.
DSecantTable(int i); ~DSecantTable();
Gib ihnen eines und der Fehler ist weg.
-
Hm eigentlich wusste ich dass dazu ein gegenstück fehlt aber ich dachte mir dass ich vielleicht irgendwo verständnisprobleme habe. Hab in der Demo mal nach dem Gegenstück gesucht und festgestellt dass die das Gegenstück in ner anderen Include haben
Vielen Dank Estartu hast ohne viel zu sagen viel Erfolg gebracht.
^P.S.: FTP sollte wieder laufen!^
-
Kein Problem.
Ich hatte mir blos so viel Zeit gelassen, weil du den Fehler ja eigentlich schon kennst.
~wg. PS: Gucke ich heute Abend~.
-
eigentlich kenne ich den Fehler aber das Gegenstück war auch saudoof versteckt!
Aber jetzt gehts (fast)Nur mal noch ganz kurz,
assert(_lnh<=maxln);
heißt doch wenn _lnh kleiner oder gleich maxln ist dann schmeiß das Assert oder?
Sprich _lnh = 34782
und maxln = 17
müsste durchgehen. oder?
Oder ist es grad andersrum? Wenn das in Klammern nicht der Fall ist dann...??
-
ASSERT(FALSE);
meckert immer.
-
und das heißt auf meine Frage bezogen?
-
Polofreak schrieb:
Sprich _lnh = 34782
und maxln = 17
müsste durchgehen. oder?Setz doch mal ein:
assert(_lnh<=maxln);
wird zu
assert(34782 <= 17);
ist das wahr? ist 34782 kleiner oder gleich 17? Nein - also meckert er.
-
oh man ich schreib im Post noch kleiner gleich, denke aber die ganze Zeit an größer gleich ich Blinde!
Jo klar!Danke!