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 From: "Paul K Gleske" To: "Danny Smith" , Subject: RE: Issue calling Com function(s) Date: Thu, 14 Jun 2001 23:02:22 -0400 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2911.0) In-Reply-To: <20010615003034.5450.qmail@web14507.mail.yahoo.com> Importance: Normal X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4522.1200 Danny, Thanks. The placement of -lole32 on the command line should have been obvious to me. Sorry to waste everybody's bandwidth on that part of my problem. I think that my runtime trouble comes from our project having its own copy of the sdk header files. We cleaned them up enough to compile without errors, but the code is not being generated correctly, obviously. In the call to IStream::Stat the offset into the vtable is 0x68 without -fvtable-thunks, 0x38 with -fvtable-thunks, and finally the correct 0x30 with the simple, pure gcc, sample app I posted. I appreciate the future posting of the libraries, but I still haven't seen anything that explains to me what is going on. Maybe I'm just thick. I assume that it has something to do with the __attribute__((com_interface))) in the gcc version of the header file. I see some of the symptoms, but I don't get the big picture. Can anyone help? Also, minor issue, but the two printfs in the sample app don't print. Any ideas? Could this be related to not having the correctly compile libgcc.a or libstdc++.a Thanks a lot for sticking it out with me. Please let me know when/where those new libs are. -pkg -----Original Message----- From: Danny Smith [mailto:danny_r_smith_2001 AT yahoo DOT co DOT nz] Sent: Thursday, June 14, 2001 8:31 PM To: Paul K Gleske; cygwin AT cygwin DOT com Subject: RE: Issue calling Com function(s) --- Paul K Gleske wrote: > Slight goof on that post. The make file I posted didn't have > everything set > (it was missing the -lole32 flag to the link). Here is the correct > makefile: > > ----------------- > makefile > ----------------- > .PHONY: clean all > > istreamtest.exe : istreamtest.obj > gcc -o istreamtest.exe -mwindows -mno-cygwin -lole32 istreamtest.obj > -lole32must follow istreamtest.obj [snip] > > Thanks for the link to the description of -fvtable-thunk. However, I > don't > think it helps me to understand how/when it should be used. There is > the > comment that all libs must be re-compiled including libgcc.a. How do > I do > that? Is it really necessary? Yes, if you are going to use C++ exception handling (in libgcc.a) or any classes/functions from libstdc++.a. In your testcase, you didn't. Also any other support C++ libs must be built with same setting. I hope to have vtable-thunk versions of libstdc++.a, libgcc.a and _G_config.h uploaded to mingw file release page this weekend. They will of course only be useful to you if you are using -mno-cygwin (or mingw) Danny ____________________________________________________________________________ _ http://messenger.yahoo.com.au - Yahoo! Messenger - Voice chat, mail alerts, stock quotes and favourite news and lots more! -- Want to unsubscribe from this list? Check out: http://cygwin.com/ml/#unsubscribe-simple