This is the mail archive of the
cygwin-developers
mailing list for the Cygwin project.
Re: [64 bit] problem using Win32 API in native Cygwin64 library
- From: VÃclav Zeman <vhaisman at gmail dot com>
- To: cygwin-developers at cygwin dot com
- Date: Wed, 3 Apr 2013 14:28:19 +0200
- Subject: Re: [64 bit] problem using Win32 API in native Cygwin64 library
- References: <CAKw7uVgA__HaEWya9o93oV0u-YaYhRmSEUBbJOMgvifk5DLZZw at mail dot gmail dot com> <20130402111942 dot GC15384 at calimero dot vinschen dot de> <20130402153705 dot GE18060 at calimero dot vinschen dot de> <CAKw7uVgBKofxyyYJeFGWUpLD-FigNy_u1VBx06ayrS4U=-AoGA at mail dot gmail dot com> <20130403113625 dot GA10510 at calimero dot vinschen dot de> <20130403115906 dot GB31598 at calimero dot vinschen dot de>
On 3 April 2013 13:59, Corinna Vinschen wrote:
> On Apr 3 13:36, Corinna Vinschen wrote:
>> On Apr 3 13:25, VÃclav Zeman wrote:
>> > On 2 April 2013 17:37, Corinna Vinschen wrote:
>> > > I just uploaded a new w32api package which should fix this issue.
>> > > The intrinsics are now provide by libkernel32.a. Please give it
>> > > a try.
>> > It is much better but I am still getting one failure:
>> >
>> > src/.libs/liblog4cplus_la-cygwin-win32.o: In function `VarCmp':
>> > /usr/include/w32api/oleauto.h:487: undefined reference to `VarCmp'
>> > /usr/include/w32api/oleauto.h:487:(.text+0x34f): relocation truncated
>> > to fit: R_X86_64_PC32 against undefined symbol `VarCmp'
>> > collect2: error: ld returned 1 exit status
>> > Makefile:1110: recipe for target `liblog4cplus.la' failed
>>
>> Are you using C++? If so, can you try to use the other variant
>> of VarCmp, with an extra, forth parameter, set to 0?
I am using C++ but I am not using the VarCmp() function at all. I am
only including the windows.h header.
>
> I just tried it myself and I can link against VarCmp just fine...
> *If* I add a -loleaut32 to the linker stage.
I think this is my fault. I am using '-fkeep-inline-functions' GCC
flag for my debug builds. I have not tested but I believe it will work
when I remove the option. I have solved it in the library by linking
to oleaut32.lib.
It is odd that I have never experienced the same issue on 32 bit Cygwin.
--
VZ