Einfügen von zusätzlichen Funktionen
-
Hallo Leutz,
ich habe wieder mal ein kleines Problem.
Ich möchte in mein MFC-Programm Funktionen einbinden, die ich früher als globale Funktionen in meinen Konsolenprogrammen verwendet habe.
Dazu füge ich die entsprechende *.cpp Datei den Quelldateien hinzu sowie setze den include-Befehl in der *Dlg.cpp Datei. Anschließend rufe ich die jeweilige Funktion auf. Beim Kompilieren habe ich keine Fehler aber dann beim Linken und zwar folgende....Startwerte_Ausgleichung error LNK2005: "int __cdecl Testfunktion(int,int)" (?Testfunktion@@YAHHH@Z) bereits in Startwerte_AusgleichungDlg.obj definiert
Startwerte_Ausgleichung fatal error LNK1169: Ein oder mehrere mehrfach definierte Symbole gefunden
Wo ist der Fehler bzw. wie kann ich die alten Funktionen wieder nutzbar machen?
-
Hallo,
wie sieht der include aus? Der Linker findet jedenfalls zwei Definitionen der Funktion Testfunktion, und das ist dann der Fall, wenn die Funktion in mehrere obj-Dateien "hineinkompiliert" wurde (und dann vom Linker mehrfach gefunden wird).
MfG
-
Die Lösung hierzu wäre aus den Funktionen eine eigene Libary zu erstellen und diese dann beim Linken einfach mitlinken, dann sollte dies gehen...
-
guenni81 schrieb:
Die Lösung hierzu wäre aus den Funktionen eine eigene Libary zu erstellen und diese dann beim Linken einfach mitlinken, dann sollte dies gehen...
Das ist keine Lösung seines Problems. Lediglich ein anderer Ansatz.
Poste mal etwas Code.
-
@Unix-Tom
Ich hatte irgendwann einmal auch das problem. Hab dies dann über eine eigene Libary gelöst. Das es noch weiter möglichkeiten gibt glaube ich gerne. Mir würde hier im moment nur diese Lösung einfallen. Bin ja aber auch noch recht frisch in der C++/MFC Programmierung...