On 2016-01-11 06:53:51 +0000, Benjamin Thaut said:
You should not need to link manually against msvcrt, dmd does this for you.
Ok, that was what I expected.
You can view the linker commands that are stored inside a object file via microsoft dumpbin tool "dumpbin /DIRECTIVES your.obj".
Great, thanks for this.
You should check the declarations of the functions that cause a unresolved external error. If they have a "export" in front of them, remove the export. I can not think of any other reason why dmd would otherwise reference a import symbol.
Ah, good point. I didn't see the link to the DLL import stuff. I can't / shouldn't remove them because these are coming from <math.h> It looks like my project is mixing up static and dynamic linked runtime libs.
Import symbols are symbols used for dll linking and start with "__imp_"
Is this a DMD convention or a general one? Never heard about this.
Out of curiosity, why do you pass "-m64" 6 times to dmd? Once would be enough.
I don't have a clue where these come from. I just use DUB to compile my D project.
For debug builds targeting windows 64 I would also highly recommend using "-gc -op" instead of "-g". This will give a much better debugging experience in Visual Studio.
Ok, will see how to get this in. Thanks so far for all the hints. -- Robert M. Münch http://www.saphirion.com smarter | better | faster