I have some code that I'm porting to x64. I have a DLL that in the 32 bit version contains a function label __imp__setversion. Note that there are two underscores before and after the "imp". When I compiled it under the x64 platform, the function seems to be named __imp_setversion, with only a single underscore after "imp". That changes the declaration we need in the source. The 32 bit version needs
!DEC$ ATTRIBUTES DLLIMPORT,ALIAS:'_setversion' :: setversion
While the 64 bit version needs
!DEC$ ATTRIBUTES DLLIMPORT,ALIAS:'setversion' :: setversion
I can't seem to find what is forcing this difference. And I would like to keep the source identical so I would like identical names in the two DLLs.
Any ideas why I'm getting this behavior?