D1: Trying to update Juno Library to 1.076

jicman jicman at gmail.com
Fri Aug 23 14:02:36 UTC 2019


On Thursday, 22 August 2019 at 19:59:55 UTC, jicman wrote:
> I think I have figured out what is going on.  I will comeback, 
> if I need more help, but I have to rewrite a few more 
> functions.  But, thanks for pointing out the pragma.  That gave 
> me an idea of what was going on.

Well, I rewrote some of the code that I thought was messed up, 
and, yes, I need some help.  This is the program that I am trying 
to compile with D 1.076:
<code>
import juno.com.core;

void main()
{
}
</code>

and I am getting the same thing:

  9:27:57.59>build -IC:\D\import -version=Phobos junocore.d
OPTLINK (R) for Win32  Release 8.00.12
Copyright (C) Digital Mars 1989-2010  All rights reserved.
http://www.digitalmars.com/ctg/optlink.html
C:\D\import\juno\com\core.obj(core)
  Error 42: Symbol Undefined _VarCmp at 16
C:\D\import\juno\com\core.obj(core)
  Error 42: Symbol Undefined _VarDecNeg at 8

What I am trying to do is to get rid of the first error:

  Error 42: Symbol Undefined _VarCmp at 16

So, I can work on the other one (VarDecNeg).  These are the two 
pragmas I have in the juno.com.core module:

pragma(lib, "ole32.lib");
pragma(lib, "oleaut32.lib");

These are the functions called from oleaut32.lib:

extern(Windows):

void VariantInit(ref VARIANT pvarg);
int VariantClear(ref VARIANT pvarg);
int VariantCopy(ref VARIANT pvargDest, ref VARIANT pvargSrc);

int VarAdd(ref VARIANT pvarLeft, ref VARIANT pvarRight, out 
VARIANT pvarResult);
int VarAnd(ref VARIANT pvarLeft, ref VARIANT pvarRight, out 
VARIANT pvarResult);
int VarCat(ref VARIANT pvarLeft, ref VARIANT pvarRight, out 
VARIANT pvarResult);
int VarDiv(ref VARIANT pvarLeft, ref VARIANT pvarRight, out 
VARIANT pvarResult);
int VarMod(ref VARIANT pvarLeft, ref VARIANT pvarRight, out 
VARIANT pvarResult);
int VarMul(ref VARIANT pvarLeft, ref VARIANT pvarRight, out 
VARIANT pvarResult);
int VarOr(ref VARIANT pvarLeft, ref VARIANT pvarRight, out 
VARIANT pvarResult);
int VarSub(ref VARIANT pvarLeft, ref VARIANT pvarRight, out 
VARIANT pvarResult);
int VarXor(ref VARIANT pvarLeft, ref VARIANT pvarRight, out 
VARIANT pvarResult);
int VarCmp(ref VARIANT pvarLeft, ref VARIANT pvarRight, uint 
lcid, uint dwFlags);

As you can see, VarCmp is there (last one), so why does the 
linker thinks that it's undefined?  Any help would be greatly 
appreciated. Thanks.

josé





More information about the Digitalmars-d-learn mailing list