This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Link error - getting undefined symbols when using stl


 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]