__init unresolved external when using C library structs converted with dstep
Steven Schveighoffer
schveiguy at gmail.com
Tue Apr 14 18:23:05 UTC 2020
On 4/14/20 1:51 PM, Robert M. Münch wrote:
> I use a C libary and created D imports with dstep. It translates the C
> structs to D structs.
>
> When I now use them, everything compiles fine but I get an unresolved
> external error:
>
> WindowsApp1.obj : error LNK2019: unresolved external symbol
> "myCstruct.__init" (_D7myCStruct6__initZ) referenced in function _Dmain
>
> Any idea what this is about and how to fix it? I'm wondering why D tries
> to find the __init function in the C library and not compile it from the
> import.
>
__init is not a function, it's a static member variable. It's the
`intializer` property inside TypeInfo used for initialization.
Did you extern(C) the struct? Are you compiling the D file that contains
the struct definition as well?
-Steve
More information about the Digitalmars-d-learn
mailing list