On 15/12/2021 11:54 PM, Jan wrote:
On Wednesday, 15 December 2021 at 09:36:54 UTC, Jan wrote:
Unfortunately it's the "annoying little details" that I immediately
bumped into.
Just another example: I just learned that linking against C++ DLLs is
quite limited. I ran into the issue that linking in an external variable
doesn't work (even though the mangled name that D chooses is correct),
because DLLs work differently than static linking does.
Someone with more in-depth knowledge told me, that Windows support in D
and specifically DLL support is lacking quite a bit.
Having *only* link compatibility is totally fine, D currently just
doesn't fulfill that promise, especially not on Windows and especially
not with DLLs.
Are you sure that on the shared library side it was marked as exported?
If a symbol is not exported, there is no guarantee (nor reason to think)
that it will be visible during runtime linking to said shared
library/executable.
This isn't unique to D, its just how linkers work.