How to pass a class by (const) reference to C++
rikki cattermole
rikki at cattermole.co.nz
Wed Dec 15 11:03:27 UTC 2021
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.
More information about the Digitalmars-d-learn
mailing list