Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin AT sources DOT redhat DOT com Message-Id: <4.3.1.2.20001011175744.021c77a0@pop.ma.ultranet.com> X-Sender: lhall AT pop DOT ma DOT ultranet DOT com X-Mailer: QUALCOMM Windows Eudora Version 4.3.1 Date: Wed, 11 Oct 2000 18:12:30 -0400 To: "J. E. Touma" , "cygwin AT sources DOT redhat DOT com" From: "Larry Hall (RFK Partners, Inc)" Subject: Re: Please help In-Reply-To: <39E4E160.7354E226@yahoo.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" At 05:53 PM 10/11/2000, J. E. Touma wrote: >Hi all, >I'm having a problem compiling my C++ code under cygwin. It compiles >fine under Linux and Solaris. >Here is the error message I'm getting after I type make > >g++ -mno-cygwin -L/cygnus/mingw/lib -o afsri vecmatlib.o myutils.o Sri.o >mymath.o srifuncs.o irmaimage.o -lm >Sri.o(.text$__ls__H3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0_R7ostreamRCt12basic_string3ZX01ZX11ZX21_R7ostream+0x18):Sri.cc: >undefined reference to `ostream::write(char const *, int)' >collect2: ld returned 1 exit status >make: *** [afsri] Error 1 > > >Now if I compile without -mno-cygwin -L/cygnus/mingw/lib (so that I can >run the code with the DLL) it works fine. >I have all the appropriate header files. What is frustrating is that I >don't even use ostream::write(char const *, int)' in the Sri.cc >mentioned above. Yes I open a file stream but I write asci text to it, >not binary. > >Is there a problem with the fstream.h file? It is on my system. > >Any insight into this problem is appreciated. > >Regads, >jim Your problem is obviously at link time, not compile time, so there's no issue with include files. Your problem is the library you want isn't getting linked in. So, the question is, which library are you using? Are you pulling in ostream from iostream.h or ostream? This will tell you whether you need the standard C++ library or the "old" stream stuff. Once you know that, you'll be better able to find the library you're looking for. As I recall, MS sectioned out the stream stuff from their standard runtime library back around VC++ 4 or 5. This was done to accommodate the use of either the "old" stream implementation or the new standard C++ template stuff. I forget all the details but searching the MSDN site should tell you which libraries you need depending on which version of the stream stuff you're trying to use. Once you determine the library you need and link it in, you'll be done. Strictly speaking, if this works fine with Cygwin and not with -mno-cygwin, then this is a Mingw issue. You might find some additional information and help on this subject if you check out www.mingw.org. Larry Hall lhall AT rfk DOT com RFK Partners, Inc. http://www.rfk.com 118 Washington Street (508) 893-9779 - RFK Office Holliston, MA 01746 (508) 893-9889 - FAX -- Want to unsubscribe from this list? Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com