On 4/17/2012 23:01, MARTIN Pierre wrote:
> Dear JonY,
>> The '?' prefix means its a C++ mangled name, not much good to use with
>> gcc. The decode_ms_name output shouldn't affect anything.
> Ouchy. But i'm asking myself: since the constructor provides a .lib, isn't everything i need in that .lib? Is there any .lib conversion tool around, since all function names are bound to addresses in clear in .lib?
Sure you could do that, but due to the way MS changed the LIB format,
ymmv. The so called "short format" is not used by binutils.
>> You should also double check with gendef output, as gendef can't tell
>> the difference between stdcall void and cdecl functions.
> gendef misses internal library function names, but the ones publically accessible in the vendor API are there... That's why i don't understand.
You can't use internal library names anyway, gendef only sees whatever
is actually exported from a DLL, so I'm not sure what you're trying to
> And this behavior only applies to one single DLL (Panini), all other (Canon / Epson) are fine.
> What can i do to at least know if something is even possible with this pesky library? That's really too bad, because it is the **only single** remaining problem with the project... i really don't want to go back to MSVC now i'm with a cool unix-like environment.
Try using gendef -a to generate the def file, it seems like your DLL is
using stdcall for all your functions anyway.