We have found some problems on DEF files behaviour.
While using the symbol name as wrote in the source exports the correctly decorated symbol, it seems not possible to export a that symbol with the same name as in source code. I.e. the following don't generates any symbol:
SampleFunction = _SampleFunction@8 ;without stdcall decorations and underscore
This DEF statement is ignored.
The exporting of forwarded symbols (as reported in the help) doesn't seem to work.
I.e:
mybeep = kernel32._Beep@8 ;This don't work
The address is not resolved when executable is loaded and program crashes! :(
Strangely it seems to work in this way including the DLL in the linker:
mybeep = _Beep@8
And for Win32 x86#pragma comment(linker, "-export:MessageBoxA=user32.MessageBoxA")
gives POLINK: error: Unresolved external symbol 'MessageBoxA'.
Look here (http://blogs.msdn.com/b/oldnewthing/archive/2006/07/19/671238.aspx)