[GELÖST] error LNK1120 und LNK2019 in Visual Studio 2010
-
Guten Abend,
ich habe erst vor kurzem angefangen mit Visual Studio 2010 zu arbeiten, und komme damit noch nicht so ganz klar. Ich habe ein neues Projekt mit Win32-Konsolenanwendung (Leeres Projekt) erstellt und eine Header und zwei cpp-Files eingefügt und auf F5 gedrückt. Nun bekomme ich aber folgende Linkerfehler:error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""bool __cdecl only_blanks(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?only_blanks@@YA_NABV?char_traits@D@std@@V?$allocator@D@2@@std@@@Z)" in Funktion "_main".
error LNK1120: 1 nicht aufgelöste externe Verweise.
check_string.h
#ifndef CHECK_STRING_H #define CHECK_STRING_H #include <string> bool only_blanks(const std::string& str); #endif
check_string.cpp
#include "check_string.h" bool only_blanks(const std::string& str) { return str.find_first_not_of(' ')==std::string::npos; }
main.cpp
#include "check_string.h" int main() { std::string str = " "; if( only_blanks(str) ) { // ... } return 0; }
Kann mir jemand erklären, wieso er die Funktion nicht findet und wie ich das Problem lösen kann?
Danke im Voraus.
-
Ok, nach längerem hin und her hab ich den Schuldigen ausgemacht. Das Problem war folgendes:
-
Ich habe im Headerdateienverzeichnis aus Versehen eine
check_string.cpp
erstellt. -
Dann habe ich die
check_string.cpp
incheck_string.h
umbenannt. -
Dann habe ich im Quelldateienverzeichnis die
check_string.cpp
Fazit: Visual Studio 2010 (Ultimate) scheint nicht damit klar zu kommen, wenn man eine Datei umbenennt und dann eine neue Datei mit dem alten Namen der umbenannten Datei erstellt.
-