[Linker error] undefined reference to ...
-
Hallo,
ich bekomme immer folgenden Fehler:
C:\Dev-Cpp\GUI_Server\GUI_ServerFrm.obj In function
ZN13GUI\_ServerFrm13generateEmailEPcS0\_': [Linker error] undefined reference tomySMTP::conect(char*, char*, char*, char*, char*, char*, char*)'
C:\Dev-Cpp\GUI_Server\GUI_ServerFrm.obj ld returned 1 exit status
C:\Dev-Cpp\GUI_Server\Makefile.win [Build Error] [GUI_Server.exe] Error 1ich verstehe es nicht warum.
#include "mySMTP.h"ist angegeben und sieht so:
#ifndef __MYSMTP_h__ #define __MYSMTP_h__ #include <cstdlib> #include <fstream> #include <sstream> #include <iostream> #include <winsock.h> #include <shellapi.h> #include <string> class mySMTP{ public: mySMTP(); virtual ~mySMTP(); void conect(char *server, char *sender, char *reciever, char *subject, char *message, char *fname, char *attFile); private : void sendmail(char *server, char *sender, char *reciever, char *subject, char *message, char *fname, char *attFile); void RunApplication(LPCTSTR FileName, LPCTSTR FileParam); }; #endifAufrufen tue ich das ganze in einer anderen klasse so:
char *server="post.strato.de"; .... char *attFile="C:\\Programme\\gnuplot\\bin\\analyse.jpg"; mySMTP *mail=new mySMTP(); mail->conect(server, sender, reciever, subject, message, fname, attFile);und das produziert den obigen Linker error. Achso, falls wichtig, benutze WinXP und Dev-cpp.
Hoffe es kann mir jemand helfen, sitzt schon den ganzen Vormittag daran...
-
Hallo
Meistens muss man noch die passende lib dazulinken.
chrische
-
Hallo,
Schau dir einfach mal die Definition von mySMTP::conect an ob sie vorhanden ist, wenn ja ob sie mit der Deklaration übereinstimmt, wenn ja ob die entsprechende cpp mit im Projekt ist (sprich mit gelinkt wird).
connect schreibt man übrigens mit 2 n.
-
aber welche?
In der mySMTP Klasse benutze ich nur die windows Sockets und die entsprechende lib ist gelinkt!
-
Dann hast Du wahrscheinlich die .cpp Datei der mySMTP Klasse schlicht vergessen.
-
connect schreibt man übrigens mit 2 n.

hab ich geändert

Schau dir einfach mal die Definition von mySMTP::conect an ob sie vorhanden ist
meinst du das hier in mySMTP.cpp
void conect(char *server, char *sender, char *reciever, char *subject, char *message, char *fname, char *attFile) { //Connects to a server using "Winsock" ..... }ob sie mit der Deklaration übereinstimmt
ja... s.o.
entsprechende cpp mit im Projekt ist
auch ja! deswegen versteh ich das ja auch absolut nicht!

-
sagte ich ja.

[edit] Bezog sich auf der vorvorigen Post[edit]
-
Die Definition ist falsch. Sie sollte so aussehen
void mySMTP::conect(char *server, char *sender, char *reciever, char *subject, char *message, char *fname, char *attFile) { //Connects to a server using "Winsock" ..... }
-
DANKE!
Und das ist mir in den letzten DREI stunden nicht aufgefallen...