Duplicate symbols - how to trace where these are coming from?

@Arjen, you are definitely not the only one to experience strange thing with dll export :thinking:. I copy here a comment from another post:

And this one is from the intel forum:

What you are seeing is that MSVC is ALSO emitting a name without the suffix - and Intel Fortran does this too. Why? Fortran does it because that allows you to declare a name simply EXTERNAL and pass it as an argument. I am not sure why MSVC is doing it as well.

It may be that when you mix bind(c) and !DEC$ directives the compiler gets ‘confused’ and exports twice the subroutine.
Can you make a dump of the .lib using dumpbin? (dumpbin /exports **.lib)?