Issue calling Com function(s)

Christopher Faylor cgf@redhat.com
Thu Jun 14 20:06:00 GMT 2001


If this is truly a mingw problem, could you please take this to a mingw
mailing list?

Thanks,
cgf

On Thu, Jun 14, 2001 at 11:02:22PM -0400, Paul K Gleske wrote:
>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@yahoo.co.nz ]
>Sent: Thursday, June 14, 2001 8:31 PM
>To: Paul K Gleske; cygwin@cygwin.com
>Subject: RE: Issue calling Com function(s)
>
>
>
>--- Paul K Gleske <pkg@gleske.org> 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

-- 
cgf@cygnus.com                        Red Hat, Inc.
http://sources.redhat.com/            http://www.redhat.com/

--
Want to unsubscribe from this list?
Check out: http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list