I am using a fairly large software package (that presumably worked for the creator). I am getting an Undefined symbols error and all the files are object files. I don't know where to start with sorting out this error.
Here is what I did leading up to this error. (The file I am compiling into an executable is called ChainMaker.cpp)
I first entered
This returned a bunch of errors that had to do with the #include statements. It seems the author was using #include <file_name> when he should have been using #include "file_name". Once I got rid of all those errors I got an error dealing with an undefined function so I defined the function. Now when I do
I get probably over 100 lines of error messages that basically chain off of each other:
Code:
Undefined symbols:
"McMd::OrthoBoundaryBase::randomPosition(Util::Random&, Util::Vector&) const", referenced from:
ChainMaker::writeChains(std::basic_ostream<char, std::char_traits<char> >&)in ccXfEj53.o
"operator new(unsigned long)", referenced from:
void Util::ParamComposite::add<McMd::OrthorhombicBoundary>(char const*, McMd::OrthorhombicBoundary&)in ccXfEj53.o
void Util::ParamComposite::add<int>(char const*, int&)in ccXfEj53.o
"std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)", referenced from:
ChainMaker::writeChains(std::basic_ostream<char, std::char_traits<char> >&)in ccXfEj53.o
ChainMaker::writeChains(std::basic_ostream<char, std::char_traits<char> >&)in ccXfEj53.o
ChainMaker::writeChains(std::basic_ostream<char, std::char_traits<char> >&)in ccXfEj53.o
ChainMaker::writeChains(std::basic_ostream<char, std::char_traits<char> >&)in ccXfEj53.o
ChainMaker::writeChains(std::basic_ostream<char, std::char_traits<char> >&)in ccXfEj53.o
ChainMaker::writeChains(std::basic_ostream<char, std::char_traits<char> >&)in ccXfEj53.o
"Util::Parameter::~Parameter()", referenced from:
Util::ScalarParam<McMd::OrthorhombicBoundary>::~ScalarParam()in ccXfEj53.o
Util::ScalarParam<McMd::OrthorhombicBoundary>::~ScalarParam()in ccXfEj53.o
Util::ScalarParam<int>::~ScalarParam()in ccXfEj53.o
Util::ScalarParam<int>::~ScalarParam()in ccXfEj53.o
"std::basic_ostream<char, std::char_traits<char> >& std::operator<< <char, std::char_traits<char>, std::allocator<char> >(std::basic_ostream<char, std::char_traits<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)", referenced from:
Util::ScalarParam<McMd::OrthorhombicBoundary>::writeParam(std::basic_ostream<char, std::char_traits<char> >&)in ccXfEj53.o
Util::ScalarParam<int>::writeParam(std::basic_ostream<char, std::char_traits<char> >&)in ccXfEj53.o
"McMd::HarmonicBond::HarmonicBond()", referenced from:
ChainMaker::ChainMaker()in ccXfEj53.o
"typeinfo for Util::ParamComposite", referenced from:
etc.....
EDIT: I forgot I was in the C forum - can a moderator move this to the C++ forum? Sorry!