egcs-1.0 and string class

Jim Peterson jspeter@roanoke.infi.net
Thu Dec 4 09:00:00 GMT 1997


Hi,

  I've just installed the egcs-1.0 release, but I can't seem to use the string
  class like I did with gcc-2.7.2.3.  In particular, I type the following:

cat - > t.cc << EOF
#include <string>
#include <iostream>
int main()
{
  string msg="Hello, world!";
  cout << msg << endl;
  return 0;
}
EOF
g++ -v -o t t.cc

  and it responds as follows:

Reading specs from /usr/lib/gcc-lib/i586-pc-linux-gnulibc1/egcs-2.90.21/specs
gcc version egcs-2.90.21 971202 (egcs-1.00 release)
 /usr/lib/gcc-lib/i586-pc-linux-gnulibc1/egcs-2.90.21/cpp -lang-c++ -v -undef -D__GNUC__=2 -D__GNUG__=2 -D__cplusplus -D__GNUC_MINOR__=90 -D__ELF__ -Dunix -Dlinux -D__ELF__ -D__unix__ -D__linux__ -D__unix -D__linux -Asystem(posix) -D__EXCEPTIONS -Di386 -Di586 -Asystem(unix) -Acpu(i386) -Amachine(i386) -D__i386__ -D__i586__ -Asystem(unix) -Acpu(i386) -Amachine(i386) t.cc /tmp/cca24706.ii
GNU CPP version egcs-2.90.21 971202 (egcs-1.00 release) (i386 Linux/ELF)
#include "..." search starts here:
#include <...> search starts here:
 /usr/include/g++
 /usr/local/include
 /usr/i586-pc-linux-gnulibc1/include
 /usr/lib/gcc-lib/i586-pc-linux-gnulibc1/egcs-2.90.21/include
 /usr/include
End of search list.
 /usr/lib/gcc-lib/i586-pc-linux-gnulibc1/egcs-2.90.21/cc1plus /tmp/cca24706.ii -quiet -dumpbase t.cc -version -o /tmp/cca24706.s
GNU C++ version egcs-2.90.21 971202 (egcs-1.00 release) (i586-pc-linux-gnulibc1) compiled by GNU C version egcs-2.90.21 971202 (egcs-1.00 release).
 as -V -Qy -o /tmp/cca247061.o /tmp/cca24706.s
GNU assembler version 970731 (i586-linux), using BFD version linux-2.8.1.0.15
 /usr/lib/gcc-lib/i586-pc-linux-gnulibc1/egcs-2.90.21/ld -m elf_i386 -dynamic-linker /lib/ld-linux.so.1 -o t /usr/lib/crt1.o /usr/lib/crti.o /usr/lib/gcc-lib/i586-pc-linux-gnulibc1/egcs-2.90.21/crtbegin.o -L/usr/lib/gcc-lib/i586-pc-linux-gnulibc1/egcs-2.90.21 -L/usr/i586-pc-linux-gnulibc1/lib /tmp/cca247061.o -lstdc++ -lm -lgcc -lc -lgcc /usr/lib/gcc-lib/i586-pc-linux-gnulibc1/egcs-2.90.21/crtend.o /usr/lib/crtn.o
/tmp/cca247061.o: In function `main':
/tmp/cca247061.o(.text+0x28): undefined reference to `ostream & operator<<<char, string_char_traits<char> >(ostream &, basic_string<char, string_char_traits<char> > const &)'
/tmp/cca247061.o: In function `basic_string<char, string_char_traits<char> >::Rep::grab(void)':
/tmp/cca247061.o(.basic_string<char, string_char_traits<char> >::Rep::gnu.linkonce.t.grab(void)+0xf): undefined reference to `basic_string<char, string_char_traits<char> >::Rep::clone(void)'
collect2: ld returned 1 exit status

  Is there anything I can do to get string classes to work?  I desperately need
  them to continue working on a rather large project.

Thank you for any help,
--Jim




More information about the Gcc-bugs mailing list