Dmitry Timoshkov wrote:
"Boaz Harrosh" boaz@hishome.net wrote:
} imports = { { ..... /* foo.dll */ "\001\000fnFooC", "\002\000fnFooSTD", 0, .... </original foo.dll.spec.c>
change to :
<fixed foo.dll.spec.c> ..... /* foo.dll */ "\001\000fnFooC", "\002\000_fnFooSTD@8", 0, .... </fixed foo.dll.spec.c>
than compilation and runtime succeeds. So the fault is at winebuild (when doing the Import, since the .def file had it right) . Or is there a switch missing?
No, that's not a winebuild problem. You have fixed names directly in the imports, that means that your dll is broken, i.e. it has decorated (@xx) API names in the exports.
I have at hand the most simple dll compiled by VC6 (+sources) and the winelib app any one wants to have a look?
Yes, please send it here if it really small, otherwise send it to me directly. (Comress with 'bzip -9' before sending).
Well yes they are decorated. This is the way the VC made them. I guess they are not Decorated only if you use a .DEF file. If you export them with __declspec(dllexport) they are exported decorated.
I hope 17K is what you mean by small. All files and Foo.dll are windows files. only fooapp.cpp & Foo.dll.spec are winelib source files. I did not send Linux makefiles, to keep it small.
Boaz