kpachopoulos |
01-22-2007 03:11 AM |
c++ linker errors
Hi,
here's the program:
Code:
string decToBin(int num)
{
string s;
int remainder=0;
while (true)
{
if (num==0)
{
break;
}
remainder=num%2;
s=i2str(remainder)+s;
num=num >> 1;
}
return s;
}
string i2str(int aV)
{
char buf[8];
sprintf(buf, "%d", aV);
return (string)buf;
}
and here are the errors. I have no idea what they are about (OK i understand they have to do with allocating a string, but...):
Code:
test4.cpp:46:2: warning: no newline at end of file
test4.cpp: In function ‘int main()’:
test4.cpp:45: warning: cannot pass objects of non-POD type ‘struct std::string’ through ‘...’; call will abort at runtime
/tmp/ccYbXerR.o: In function `__static_initialization_and_destruction_0(int, int)':
test4.cpp:(.text+0x23): undefined reference to `std::ios_base::Init::Init()'
/tmp/ccYbXerR.o: In function `__tcf_0':
test4.cpp:(.text+0x66): undefined reference to `std::ios_base::Init::~Init()'
/tmp/ccYbXerR.o: In function `i2str(int)':
test4.cpp:(.text+0xa1): undefined reference to `std::allocator<char>::allocator()'
test4.cpp:(.text+0xb1): undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&)'
test4.cpp:(.text+0xba): undefined reference to `std::allocator<char>::~allocator()'
test4.cpp:(.text+0xcd): undefined reference to `std::allocator<char>::~allocator()'
/tmp/ccYbXerR.o: In function `decToBin(int)':
test4.cpp:(.text+0xff): undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string()'
test4.cpp:(.text+0x15a): undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator=(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
test4.cpp:(.text+0x163): undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
test4.cpp:(.text+0x176): undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
test4.cpp:(.text+0x185): undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
test4.cpp:(.text+0x198): undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
test4.cpp:(.text+0x1b7): undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
/tmp/ccYbXerR.o: In function `std::basic_string<char, std::char_traits<char>, std::allocator<char> > std::operator+<char, std::char_traits<char>, std::allocator<char> >(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
test4.cpp:(.text._ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_S8_[std::basic_string<char, std::char_traits<char>, std::allocator<char> > std::operator+<char, std::char_traits<char>, std::allocator<char> >(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)]+0x1e): undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
test4.cpp:(.text._ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_S8_[std::basic_string<char, std::char_traits<char>, std::allocator<char> > std::operator+<char, std::char_traits<char>, std::allocator<char> >(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)]+0x2b): undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::append(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
test4.cpp:(.text._ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_S8_[std::basic_string<char, std::char_traits<char>, std::allocator<char> > std::operator+<char, std::char_traits<char>, std::allocator<char> >(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)]+0x3e): undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
/tmp/ccYbXerR.o:(.eh_frame+0x13): undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status
|