Не понятно, что требуется. Если требуется получить статическую прогу, зачем тогда libstdc++.so. В этом случае нужно делать так:
code:
#!/bin/sh
#installed packages in prefix
#
# egcs-1.0.3a-14.i386.rpm
# egcs-c++-1.0.3a-14.i386.rpm
# glibc-2.0.7-29.i386.rpm
# glibc-devel-2.0.7-29.i386.rpm
# binutils-2.9.1.0.15-1.i386.rpm
PREFIX=/home/user/tmp_dir
PATH=$PREFIX/bin:$PREFIX/usr/bin:$PREFIX/usr/lib/gcc-lib/i386-redhat-linux/egcs-2.90.29
LD_LIBRARY_PATH=$PREFIX/usr/lib
./usr/bin/g++ -nostdinc -nostdinc++ aaa.cc -c -o aaa.o -I ./usr/include\
-I ./usr/include/g++ \
-I ./usr/lib/gcc-lib/i386-redhat-linux/egcs-2.90.29/include
./usr/lib/gcc-lib/i386-redhat-linux/egcs-2.90.29/ld -o aaa \
./usr/lib/gcc-lib/i386-redhat-linux/egcs-2.90.29/crtbegin.o \
./aaa.o \
./usr/lib/crt1.o \
./usr/lib/crti.o \
./usr/lib/crtn.o \
./usr/lib/libstdc++.a \
./usr/lib/gcc-lib/i386-redhat-linux/egcs-2.90.29/libgcc.a \
./usr/lib/libc.a \
./usr/lib/gcc-lib/i386-redhat-linux/egcs-2.90.29/crtend.o
Если же нужно динамически прилинковать, тогда почему libc линкуются статически. Нужно бы сделать так.
code:
#!/bin/sh
#installed packages in prefix
#
# egcs-1.0.3a-14.i386.rpm
# egcs-c++-1.0.3a-14.i386.rpm
# glibc-2.0.7-29.i386.rpm
# glibc-devel-2.0.7-29.i386.rpm
# binutils-2.9.1.0.15-1.i386.rpm
PREFIX=/home/user/tmp_dir
PATH=$PREFIX/bin:$PREFIX/usr/bin:$PREFIX/usr/lib/gcc-lib/i386-redhat-linux/egcs-2.90.29
LD_LIBRARY_PATH=$PREFIX/usr/lib
./usr/bin/g++ -nostdinc -nostdinc++ aaa.cc -c -o aaa.o -I ./usr/include\
-I ./usr/include/g++ \
-I ./usr/lib/gcc-lib/i386-redhat-linux/egcs-2.90.29/include
./usr/lib/gcc-lib/i386-redhat-linux/egcs-2.90.29/ld -o aaa \
-rpath $PREFIX/lib \
-m elf_i386 -dynamic-linker $PREFIX/lib/ld-linux.so.2 \
./usr/lib/gcc-lib/i386-redhat-linux/egcs-2.90.29/crtbegin.o \
./usr/lib/crt1.o \
./usr/lib/crti.o \
./usr/lib/crtn.o \
./aaa.o \
./usr/lib/libstdc++.so \
./lib/libc.so.6 \
./usr/lib/gcc-lib/i386-redhat-linux/egcs-2.90.29/crtend.o