This might be a very basic issue, but I get the “ld: symbol(s) not found” error when using make to compile the samples. Specifically:
q - obj/release/bank_checker.cpp_o
q - obj/release/cmd_arg_reader.cpp_o
q - obj/release/cutil.cpp_o
q - obj/release/stopwatch.cpp_o
q - obj/release/stopwatch_linux.cpp_o
q - obj/release/multithreading.cpp_o
q - obj/release/paramgl.cpp_o
q - obj/release/param.cpp_o
q - obj/release/rendercheck_gl.cpp_o
make -C projects/alignedTypes/
Undefined symbols:
"std::basic_ostream<char, std::char_traits<char> >& std::basic_ostream<char, std::char_traits<char> >::_M_insert<unsigned long>(unsigned long)", referenced from:
BankChecker::~BankChecker()in libcutil.a(bank_checker.cpp_o)
BankChecker::~BankChecker()in libcutil.a(bank_checker.cpp_o)
BankChecker::AccessInfo::getInfo() const in libcutil.a(bank_checker.cpp_o)
BankChecker::AccessInfo::getInfo() const in libcutil.a(bank_checker.cpp_o)
BankChecker::AccessInfo::getInfo() const in libcutil.a(bank_checker.cpp_o)
BankChecker::AccessInfo::getInfo() const in libcutil.a(bank_checker.cpp_o)
BankChecker::analyse(std::_Rb_tree_const_iterator<std::pair<BankChecker::AccessLocation const, std::map<unsigned int, std::vector<BankChecker::AccessInfo, std::allocator<BankChecker::AccessInfo> >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, std::vector<BankChecker::AccessInfo, std::allocator<BankChecker::AccessInfo> > > > > > > const&)in libcutil.a(bank_checker.cpp_o)
BankChecker::analyse(std::_Rb_tree_const_iterator<std::pair<BankChecker::AccessLocation const, std::map<unsigned int, std::vector<BankChecker::AccessInfo, std::allocator<BankChecker::AccessInfo> >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, std::vector<BankChecker::AccessInfo, std::allocator<BankChecker::AccessInfo> > > > > > > const&)in libcutil.a(bank_checker.cpp_o)
BankChecker::analyse(std::_Rb_tree_const_iterator<std::pair<BankChecker::AccessLocation const, std::map<unsigned int, std::vector<BankChecker::AccessInfo, std::allocator<BankChecker::AccessInfo> >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, std::vector<BankChecker::AccessInfo, std::allocator<BankChecker::AccessInfo> > > > > > > const&)in libcutil.a(bank_checker.cpp_o)
BankChecker::AccessLocation::AccessLocation(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int)in libcutil.a(bank_checker.cpp_o)
BankChecker::AccessLocation::AccessLocation(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int)in libcutil.a(bank_checker.cpp_o)
"std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, int)", referenced from:
BankChecker::~BankChecker()in libcutil.a(bank_checker.cpp_o)
BankChecker::~BankChecker()in libcutil.a(bank_checker.cpp_o)
BankChecker::AccessInfo::getInfo() const in libcutil.a(bank_checker.cpp_o)
BankChecker::AccessInfo::getInfo() const in libcutil.a(bank_checker.cpp_o)
BankChecker::AccessInfo::getInfo() const in libcutil.a(bank_checker.cpp_o)
BankChecker::AccessInfo::getInfo() const in libcutil.a(bank_checker.cpp_o)
BankChecker::analyse(std::_Rb_tree_const_iterator<std::pair<BankChecker::AccessLocation const, std::map<unsigned int, std::vector<BankChecker::AccessInfo, std::allocator<BankChecker::AccessInfo> >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, std::vector<BankChecker::AccessInfo, std::allocator<BankChecker::AccessInfo> > > > > > > const&)in libcutil.a(bank_checker.cpp_o)
BankChecker::analyse(std::_Rb_tree_const_iterator<std::pair<BankChecker::AccessLocation const, std::map<unsigned int, std::vector<BankChecker::AccessInfo, std::allocator<BankChecker::AccessInfo> >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, std::vector<BankChecker::AccessInfo, std::allocator<BankChecker::AccessInfo> > > > > > > const&)in libcutil.a(bank_checker.cpp_o)
BankChecker::analyse(std::_Rb_tree_const_iterator<std::pair<BankChecker::AccessLocation const, std::map<unsigned int, std::vector<BankChecker::AccessInfo, std::allocator<BankChecker::AccessInfo> >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, std::vector<BankChecker::AccessInfo, std::allocator<BankChecker::AccessInfo> > > > > > > const&)in libcutil.a(bank_checker.cpp_o)
BankChecker::analyse(std::_Rb_tree_const_iterator<std::pair<BankChecker::AccessLocation const, std::map<unsigned int, std::vector<BankChecker::AccessInfo, std::allocator<BankChecker::AccessInfo> >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, std::vector<BankChecker::AccessInfo, std::allocator<BankChecker::AccessInfo> > > > > > > const&)in libcutil.a(bank_checker.cpp_o)
BankChecker::analyse(std::_Rb_tree_const_iterator<std::pair<BankChecker::AccessLocation const, std::map<unsigned int, std::vector<BankChecker::AccessInfo, std::allocator<BankChecker::AccessInfo> >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, std::vector<BankChecker::AccessInfo, std::allocator<BankChecker::AccessInfo> > > > > > > const&)in libcutil.a(bank_checker.cpp_o)
BankChecker::analyse(std::_Rb_tree_const_iterator<std::pair<BankChecker::AccessLocation const, std::map<unsigned int, std::vector<BankChecker::AccessInfo, std::allocator<BankChecker::AccessInfo> >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, std::vector<BankChecker::AccessInfo, std::allocator<BankChecker::AccessInfo> > > > > > > const&)in libcutil.a(bank_checker.cpp_o)
BankChecker::analyse(std::_Rb_tree_const_iterator<std::pair<BankChecker::AccessLocation const, std::map<unsigned int, std::vector<BankChecker::AccessInfo, std::allocator<BankChecker::AccessInfo> >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, std::vector<BankChecker::AccessInfo, std::allocator<BankChecker::AccessInfo> > > > > > > const&)in libcutil.a(bank_checker.cpp_o)
BankChecker::analyse(std::_Rb_tree_const_iterator<std::pair<BankChecker::AccessLocation const, std::map<unsigned int, std::vector<BankChecker::AccessInfo, std::allocator<BankChecker::AccessInfo> >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, std::vector<BankChecker::AccessInfo, std::allocator<BankChecker::AccessInfo> > > > > > > const&)in libcutil.a(bank_checker.cpp_o)
BankChecker::analyse(std::_Rb_tree_const_iterator<std::pair<BankChecker::AccessLocation const, std::map<unsigned int, std::vector<BankChecker::AccessInfo, std::allocator<BankChecker::AccessInfo> >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, std::vector<BankChecker::AccessInfo, std::allocator<BankChecker::AccessInfo> > > > > > > const&)in libcutil.a(bank_checker.cpp_o)
BankChecker::AccessLocation::AccessLocation(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int)in libcutil.a(bank_checker.cpp_o)
BankChecker::AccessLocation::AccessLocation(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int)in libcutil.a(bank_checker.cpp_o)
BankChecker::AccessLocation::AccessLocation(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int)in libcutil.a(bank_checker.cpp_o)
ld: symbol(s) not found
collect2: ld returned 1 exit status
make[1]: *** [../../bin/darwin/release/alignedTypes] Error 1
make: *** [projects/alignedTypes/Makefile.ph_build] Error 2
What is the problem here?