As it is an inline function and defined and implemented in the header file, it wont be in the fields symbols of the resulting static/dynamic library. Therefore linker will always fail.
It has to be implemented in D coding (in the DPP module like for macros)
I wonder what is the correct behavior for Dpp. At the moment the signature is added in the generated module, with extern(C) declaration.
There's a workaround which is to make the C compiler emit code for this in a C translation unit and link to that. Translating arbitrary C code is going to take a lot of work.
See here for an example
https://github.com/Azure/azure-sdk-for-c/blob/master/sdk/core/core/inc/az_span.h#L91
As it is an inline function and defined and implemented in the header file, it wont be in the fields symbols of the resulting static/dynamic library. Therefore linker will always fail. It has to be implemented in D coding (in the DPP module like for macros)
I wonder what is the correct behavior for Dpp. At the moment the signature is added in the generated module, with extern(C) declaration.