From: flaster AT qts DOT com ("Michael E. Flaster") Subject: Fixing libiostream.a and _rtti_ 27 Nov 1996 09:09:20 -0800 Sender: daemon AT cygnus DOT com Approved: cygnus DOT gnu-win32 AT cygnus DOT com Distribution: cygnus Message-ID: <329C59E0.7CE4.cygnus.gnu-win32@qts.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Mailer: Mozilla 3.0 (WinNT; I) Original-To: gnu-win32 AT cygnus DOT com Original-Sender: owner-gnu-win32 AT cygnus DOT com Well, I guess I'm going to try to figure out why executables linked against libstdc++.a in beta 16 will not execute, or at least figure out a workaround (I only really need libiostream.a). (BTW, renaming the executable from a.out to a.exe did not work for me.) If I just build libiostream.a, there are many undefined references to _rtti_ stuff, which I guess stands for "run time type info". It seems that these references automatically get inserted by the compiler whenever there is a virtual destructor in a class. Now, I've noticed that their definition is in the stdc++ library. But I thought that the iostream lib would be self contained, and wouldn't need the stdc++ lib. Are the _rtti_ references necessary? If they're not, is there some compiler flag that will turn them off? FYI, I have been able to link an executable against the iostream lib + stdexcepti.o + exceptioni.o + typeinfoi.o (+ a stub for Strings) from the stdc++ library. The resulting executable would still not execute. This seems to imply that the problem is with either 1. run-time type info 2. Exceptions 3. iostream lib I'd guess it's 1 or 2, but unfortunately, as I've probably already demonstrated, I know nothing about them... :-( Thanks in advance! Mike - For help on using this list, send a message to "gnu-win32-request AT cygnus DOT com" with one line of text: "help".