This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Link error - getting undefined symbols when using stl
- From: "Ryan Cuprak"<cuprakr at earthlink dot net>
- To: gcc-help at gcc dot gnu dot org
- Date: Thu, 02 Jan 2003 13:33:29 -0800
- Subject: Link error - getting undefined symbols when using stl
- Reply-to: rcuprak at acm dot org
Hello,
I am having trouble with linking together a simple project which uses stl
(string,list, and vector). I am using Apple's gcc (3.1). The undefined symbol
errors are below the makefile. Any suggestions?
BTW: My project does compile and run perfectly inside of ProjectBuilder so I
am guessing it has something to do with my linking/compiler directives. I have
been hunting through the gcc manual and doing goodle searches all day. I am
guessing that it has someting to do with templates but I am not terribly sure.
Thanks,
Ryan Cuprak
build : attribute.o element.o parser.o
gcc -c main.cpp -o obj/main.o
gcc -o test.out obj/Attribute.o obj/Element.o obj/Parser.o obj/main.o
attribute.o :
gcc -c xml/model/Attribute.cpp -o obj/Attribute.o
element.o : attribute.o
gcc -c xml/model/Element.cpp -o obj/Element.o
parser.o : attribute.o element.o
gcc -c xml/parsers/Parser.cpp -o obj/Parser.o
[wsp218666wss:~/Documents/Development/XMLProcessor] rcuprak% make
gcc -c xml/model/Attribute.cpp -o obj/Attribute.o
gcc -c xml/model/Element.cpp -o obj/Element.o
gcc -c xml/parsers/Parser.cpp -o obj/Parser.o
gcc -c main.cpp -o obj/main.o
gcc -o test.out obj/Attribute.o obj/Element.o obj/Parser.o obj/main.o
ld: Undefined symbols:
std::basic_string<char, std::char_traits<char>, std::allocator<char> >::size()
const
std::basic_string<char, std::char_traits<char>, std::allocator<char>
>::_M_data() const
std::basic_string<char, std::char_traits<char>, std::allocator<char>
>::_M_iend() const
std::basic_string<char, std::char_traits<char>, std::allocator<char>
>::max_size() const
std::basic_string<char, std::char_traits<char>, std::allocator<char>
>::_M_ibegin() const
std::allocator<char>::allocator[in-charge]()
std::allocator<char>::~allocator [in-charge]()
std::basic_string<char, std::char_traits<char>, std::allocator<char>
>::_Alloc_hider::_Alloc_hider[in-charge](char*, std::allocator<char> const&)
std::basic_string<char, std::char_traits<char>, std::allocator<char>
>::_S_empty_rep()
std::basic_string<char, std::char_traits<char>, std::allocator<char>
>::_S_copy_chars(char*, __gnu_cxx::__normal_iterator<char*,
std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,
__gnu_cxx::__normal_iterator<char*, std::basic_string<char,
std::char_traits<char>, std::allocator<char> > >)
std::basic_string<char, std::char_traits<char>, std::allocator<char>
>::_S_copy_chars(char*, char const*, char const*)
std::basic_string<char, std::char_traits<char>, std::allocator<char>
>::_Rep::_M_destroy(std::allocator<char> const&)
std::basic_string<char, std::char_traits<char>, std::allocator<char>
>::_Rep::_M_refcopy()
std::basic_string<char, std::char_traits<char>, std::allocator<char>
>::_Rep::_M_refdata()
std::basic_string<char, std::char_traits<char>, std::allocator<char>
>::_Rep::_S_terminal
std::basic_string<char, std::char_traits<char>, std::allocator<char>
>::_Rep::_S_create(unsigned long, std::allocator<char> const&)
std::basic_string<char, std::char_traits<char>, std::allocator<char>
>::append(char const*)
std::basic_string<char, std::char_traits<char>, std::allocator<char>
>::append(std::basic_string<char, std::char_traits<char>, std::allocator<char>
> const&)
std::basic_string<char, std::char_traits<char>, std::allocator<char>
>::reserve(unsigned long)
std::basic_string<char, std::char_traits<char>, std::allocator<char>
>::_M_mutate(unsigned long, unsigned long, unsigned long)
std::basic_string<char, std::char_traits<char>, std::allocator<char>
>::basic_string[in-charge](std::basic_string<char, std::char_traits<char>,
std::allocator<char> > const&)
std::basic_string<char, std::char_traits<char>, std::allocator<char>
>::basic_string[in-charge]()
std::basic_string<char, std::char_traits<char>, std::allocator<char>
>::~basic_string [in-charge]()
std::basic_string<char, std::char_traits<char>, std::allocator<char>
>::operator=(std::basic_string<char, std::char_traits<char>,
std::allocator<char> > const&)
std::__throw_logic_error(char const*)
std::__throw_length_error(char const*)
___cxa_begin_catch
___cxa_end_catch
___cxa_rethrow
___gxx_personality_v0
std::basic_string<char, std::char_traits<char>, std::allocator<char>
>::compare(std::basic_string<char, std::char_traits<char>,
std::allocator<char> > const&) const
std::basic_string<char, std::char_traits<char>, std::allocator<char>
>::operator=(char const*)
std::basic_string<char, std::char_traits<char>, std::allocator<char>
>::operator+=(char const*)
std::basic_string<char, std::char_traits<char>, std::allocator<char>
>::operator+=(std::basic_string<char, std::char_traits<char>,
std::allocator<char> > const&)
std::__default_alloc_template<(bool)1, (int)0>::deallocate(void*, unsigned
long)
std::__default_alloc_template<(bool)1, (int)0>::allocate(unsigned long)
std::ios_base::Init::Init[in-charge]()
std::ios_base::Init::~Init [in-charge]()
std::basic_string<char, std::char_traits<char>, std::allocator<char>
>::find(char const*, unsigned long) const
std::basic_string<char, std::char_traits<char>, std::allocator<char>
>::find(std::basic_string<char, std::char_traits<char>, std::allocator<char> >
const&, unsigned long) const
std::basic_string<char, std::char_traits<char>, std::allocator<char>
>::c_str() const
std::basic_string<char, std::char_traits<char>, std::allocator<char>
>::substr(unsigned long, unsigned long) const
std::basic_string<char, std::char_traits<char>, std::allocator<char>
>::compare(char const*) const
std::basic_ios<char, std::char_traits<char> >::eof() const
std::basic_ios<char, std::char_traits<char> >::good() const
std::basic_ostream<char, std::char_traits<char>
>::operator<<(std::basic_ostream<char, std::char_traits<char> >&
(*)(std::basic_ostream<char, std::char_traits<char> >&))
std::basic_string<char, std::char_traits<char>, std::allocator<char>
>::erase(unsigned long, unsigned long)
std::basic_string<char, std::char_traits<char>, std::allocator<char>
>::replace(unsigned long, unsigned long, char const*)
std::basic_string<char, std::char_traits<char>, std::allocator<char>
>::basic_string[in-charge](char const*, std::allocator<char> const&)
std::basic_ifstream<char, std::char_traits<char>
>::basic_ifstream[in-charge](char const*, std::_Ios_Openmode)
std::basic_ifstream<char, std::char_traits<char> >::~basic_ifstream
[in-charge]()
std::cout
std::basic_ostream<char, std::char_traits<char> >& std::endl<char,
std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&)
std::basic_istream<char, std::char_traits<char> >& std::getline<char,
std::char_traits<char>, std::allocator<char> >(std::basic_istream<char,
std::char_traits<char> >&, std::basic_string<char, std::char_traits<char>,
std::allocator<char> >&)
std::basic_ostream<char, std::char_traits<char> >& std::operator<<
<std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&,
char const*)
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&)
make: *** [build] Error 1