I'm trying to identify what change has resulted in getting the error:

    Error 42: Symbol Undefined _VarCmp@16

I was doing my not so routine updates for the Juno Class Libraries. This symbol is the VARIANT compare function provided by oleaut32.lib on Windows. It is a very nice function and has been used in Juno for some time. I tracked down the most recent working commit and compiler. The only signature changed made was const parameters (reverting this did not help). All other changes were needed in one form or another to compile in the newer dmd versions.

Using the last known working compiler I attempted a reduced test to see if I can narrow it down as a compiler/linker bug/change. What I ended up with was a test case which exhibited the same behavior on this known working compiler (2.057/2.058).

http://dpaste.dzfl.pl/233d037d

This is not intended to run, I've changed the VARIANT definition to reduce dependencies. Hopefully it is the same size, but I did not make much effort. I've tried different export types, and using pointers instead of ref.

This obviously won't link in Linux, but otherwise any suggestions?

Reply via email to