implib and system dlls, oh my
Jason King via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Tue Jun 24 05:34:26 PDT 2014
On Tuesday, 24 June 2014 at 04:37:56 UTC, Rikki Cattermole wrote:
> On 24/06/2014 1:13 p.m., Jason King wrote:
>> This is me trying to link with Juno and getting tantalizingly
>> close to
>> success.
>>
>> DMD home is d:\d so binaries are d:\d\dmd2\windows\bin (on
>> path)
>> Juno is in
>> D:\dlang\Juno-Windows-Class-Library
>> D:\dlang\Juno-Windows-Class-Library\juno.lib exists
>> sc.ini is untouched
>>
>> D:\dlang\Juno-Windows-Class-Library\examples\com>dmd
>> -L+d:\dlang\Juno-Windows-Cl
>> ass-Library\juno.lib -Id:\dlang\Juno-Windows-Class-Library
>> events.d
>> OPTLINK (R) for Win32 Release 8.00.15
>> Copyright (C) Digital Mars 1989-2013 All rights reserved.
>> http://www.digitalmars.com/ctg/optlink.html
>> d:\dlang\Juno-Windows-Class-Library\juno.lib(core)
>> Error 42: Symbol Undefined _VarCmp at 16
>> --- errorlevel 1
>>
>
> Looks like that's a Windows API function [0].
> Get it to link with OleAut32 and it should work, if I'm correct.
>
Thanks, Rikki
There was a pragma(lib,"oleaut32.lib") in one of the source
files, so it should have been linking.
The problem now is that the DM oleaut32.lib doesn't include a
_VarCmp at 16.
I ran lib -l oleaut32.lib to get a list file. No exported
_VarCmp at 16. There were 400-odd lines of exports so I believe lib
-l worked.
If I run implib /s oleaut32.lib oleaut32.dll vs. a windows XP
oleaut32.dll I get an oleaut32.lib that includes a _VarCmp (not
_VarCmp at 16).
What's the secret sauce to creating an oleaut32.lib that's fully
decorated? Is there a way to get a newer oleaut32.lib into the d
distributions. The full dmc oleaut32.lib is also missing
_VarCmp at 16 so no joy there either.
More information about the Digitalmars-d-learn
mailing list