Question:
I can compile all of my .cpp files (they were written by my teacher), but I get error messages when I try to run them. I get a make failed
statement and an error message saying “unresolved external error” about one of my functions in my class. Do you have any ideas of what the problem could be?
Answer:
Well, first, I’m a little unclear on your situation. You say everything is okay until you run the program, but the error you describe is reported by the linker (which combines all your .obj and .lib files into an .exe).
An unresolved external means that one of your source files referenced a symbol (function or variable) that the linker expected to be in another file. However, when linking, the linker did not find that symbol declared anywhere.
You must look at the symbol and determine where it was supposed to be defined. Note that sometimes this error occurs due to a bad declaration; for example, a bad method in your class declaration that is not defined anywhere.