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@16
C:\D\import\juno\com\core.obj(core)
 Error 42: Symbol Undefined _VarDecNeg@8

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

 Error 42: Symbol Undefined _VarCmp@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é



Reply via email to