unresolved external ... warum ?
-
hallo leute
in folgendem code tritt der fehler auf:
/* h-file */ class WatchFiles { private: std::vector<WatchFilesData> file_list; std::vector<std::string> directories; unsigned int FillDirectories(std::vector<WatchFilesData> &t_vec); unsigned int SearchForDirectory(const std::string &dir); public: WatchFiles(void); WatchFiles(const char *buf); ~WatchFiles(void); WatchFilesData& operator[](unsigned int t_pos) { return file_list[t_pos]; } unsigned int ReadFromBuffer(const char *buf); unsigned int WriteToBuffer(char *buf); unsigned int StreamSize(void); unsigned int FilesCount(void) { return file_list.size(); } unsigned int DirectoryCount(void) {return directories.size(); } std::string& Directory(unsigned int t_pos) { return directories[t_pos]; } unsigned int CheckDirList(void) { return FillDirectories(file_list); } unsigned int AddNewFile(const char *t_filename, const WIN32_FIND_DATA &t_data); }; /* cpp-file */ ... unsigned int WatchFiles::AddNewFile(const char *t_filename, const WIN32_FIND_DATA &t_data) { unsigned int t_count = file_list.size(); file_list.push_back(); file_list[t_count].filename = t_filename; file_list[t_count].filesize = (t_data.nFileSizeHigh * (0xFFFFFFFF + 1)) + t_data.nFileSizeLow; file_list[t_count].filetime = (t_data.ftLastWriteTime.dwHighDateTime * (0xFFFFFFFF + 1)) + t_data.ftLastWriteTime.dwLowDateTime; return file_list.size(); } ...
der rest funktioniert. nur wenn ich auf den AddNewFile member zugreifen will gibt es die fehlermeldung vom linker
sieht jemand den fehler ?
Meep Meep
-
Hast du auch die .cpp im Projekt drin und die .h in der Datei eingebunden in der du die Klasse benutzen willst?
-
re
ja hab ich alles eingebunden cpp-file uns header. ueberall wo ich sie brauche.
deshalb hab ich auch geschrieben:der rest funktioniert. nur wenn ich auf den AddNewFile member zugreifen will gibt es die fehlermeldung vom linker
mit dem rest, meinte ich die anderen memberfunktionen usw.
Meep Meep
-
Zeig doch mal den Teil wo du die Methode aufrufst, und den genauen Fehler
-
re
void __fastcall TForm2::Button1Click(TObject *Sender) { open_dialog->Execute(); WIN32_FIND_DATA t_data; if(open_dialog->FileName != "") { txl::GetFileData(open_dialog->FileName.c_str(), t_data); unsigned int x = watch_field->Count; bool found = false; for(unsigned int i = 0;i < x;++i) { if(watch_field->Items[i].Text == open_dialog->FileName) found = true; } if(!found) { watch_files.AddNewFile(open_dialog->FileName.c_str(), t_data); //watch_files.CheckDirList(); //(1) watch_field->AddItem(open_dialog->FileName,0); watch_files.StreamSize(); } } }
fehlermeldung
[Linker Fehler] Unresolved external 'WatchFiles::AddNewFile(const char *, const _WIN32_FIND_DATAA&)' referenced from D:\SOURCECODES\NETSYNC\EINSTELLUNGEN.OBJ
mit (1) hatte ich getestet, ob die anderen members aufgerufen werden konnten.
bis auf AddNewFile funktioniert allesMeep Meep