The problem is that you most likely unzipped the c++ libraries with
a zip utility that supports long filenames.
Unfortunately, DJGPP doesn't seem to actually support long filenames (see
bug 000244). (Try downloading the file utilites FIL361B.zip and typing 'ls',
the UNIX version of 'dir' -- you'll see nothing but short filenames) As you
probably know, the short filename equivalent of streambuf.h is
stream~1.h, which is why g++ (or gxx) can't find the library. When you specify
any filename longer than 8.3 characters (8 main, 3 extension), gcc, g++ or
make will simply truncate it to 8.3.
What you have to do is use pkunzip for DOS to extract your C++ libraries
(probably in your GPP____.zip file). Pkunzip for DOS will truncate streambuf.h
to streambu.h, and g++ will be able to find the library.
The same goes for any source files that you create on your own. (If you have
to #include source or header files with long names, you have to truncate
the filename when you save them, or DJGPP will not find them)