error LNK2019: unresolved external symbol
I'm using Visual C++ 2005 Express Edition, and I don't understand why
I'm getting linker errors when there aren't even any other files I'm
compiling along with this file. Here's the code in question:
#include <iostream>
#include <fstream>
#include <sstream>
#include <string>
using namespace std;
void InterpretCommands (istream&);
void InterpretUpdate (istream&);
void InterpretList (istream&);
void InterpretBatch (istream&);
void InterpretQuit (istream&);
void IntepretUpdate (istream& cmds){
// do something
}
void IntepretList (istream& cmds){
// do something
}
void IntepretBatch(istream& cmds){
// do something
}
void IntepretQuit(istream& cmds){
// do something
}
void InterpretCommands (istream& cmds) {
string line, cmdWord;
while (getline(cmds, line)) {
istringstream lineIn (line.c_str());
if (!(lineIn >> cmdWord)) {
break;//there aren't any words
} else if (cmdWord=="update") {
InterpretUpdate (lineIn);
} else if (cmdWord=="list") {
InterpretList (lineIn);
} else if (cmdWord=="batch") {
InterpretBatch (lineIn);
} else if (cmdWord=="quit") {
InterpretQuit (lineIn);
} else {
cerr << "Unrecognizable command word." << endl;
}
}
}
int main ( ) {
InterpretCommands (cin);
return 0;
}
And here are the messages when I try compiling:
------ Build started: Project: vectors, Configuration: Debug Win32
------
Compiling...
p3.1.cpp
Linking...
p3.1.obj : error LNK2019: unresolved external symbol "void __cdecl
InterpretQuit(class std::basic_istream<char,struct
std::char_traits<char> > &)" (?InterpretQuit@@YAXAAV?$basic_istream@DU?
$char_traits@D@std@@@std@@@Z) referenced in function "void __cdecl
InterpretCommands(class std::basic_istream<char,struct
std::char_traits<char> > &)" (?InterpretCommands@@YAXAAV?
$basic_istream@DU?$char_traits@D@std@@@std@@@Z)
p3.1.obj : error LNK2019: unresolved external symbol "void __cdecl
InterpretBatch(class std::basic_istream<char,struct
std::char_traits<char> > &)" (?InterpretBatch@@YAXAAV?
$basic_istream@DU?$char_traits@D@std@@@std@@@Z) referenced in function
"void __cdecl InterpretCommands(class std::basic_istream<char,struct
std::char_traits<char> > &)" (?InterpretCommands@@YAXAAV?
$basic_istream@DU?$char_traits@D@std@@@std@@@Z)
p3.1.obj : error LNK2019: unresolved external symbol "void __cdecl
InterpretList(class std::basic_istream<char,struct
std::char_traits<char> > &)" (?InterpretList@@YAXAAV?$basic_istream@DU?
$char_traits@D@std@@@std@@@Z) referenced in function "void __cdecl
InterpretCommands(class std::basic_istream<char,struct
std::char_traits<char> > &)" (?InterpretCommands@@YAXAAV?
$basic_istream@DU?$char_traits@D@std@@@std@@@Z)
p3.1.obj : error LNK2019: unresolved external symbol "void __cdecl
InterpretUpdate(class std::basic_istream<char,struct
std::char_traits<char> > &)" (?InterpretUpdate@@YAXAAV?
$basic_istream@DU?$char_traits@D@std@@@std@@@Z) referenced in function
"void __cdecl InterpretCommands(class std::basic_istream<char,struct
std::char_traits<char> > &)" (?InterpretCommands@@YAXAAV?
$basic_istream@DU?$char_traits@D@std@@@std@@@Z)
C:\Documents and Settings\Crystal\My Documents\Visual Studio
2005\Projects\vectors\Debug\vectors.exe : fatal error LNK1120: 4
unresolved externals
Build log was saved at "file://c:\Documents and Settings\Crystal\My
Documents\Visual Studio 2005\Projects\vectors\Debug\BuildLog.htm"
vectors - 5 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped
==========
Any help is much appreciated. Thanks!