[Wine] for help:how to call a windows dll in linux by java program!
waterson79
wineforum-user at winehq.org
Mon Mar 8 03:19:24 CST 2010
hello,everyone!
I have encountered a problem when i want to call a windows dll in linux by java program, pls help me !
For the absence of the C source code, i want to migrate the windows dll to the linux ,which is called by a java program, named getDecode.dll.
The following is my steps:
[root at CGSL-N31 wine]# winedump spec -I. getDecode.dll
Contents of getDecode.dll: 360530 bytes
1 named symbols in DLL, 1 total, 1 unique (ordinal base = 1)
Done dumping getDecode.dll
Export 1 - '_Java_com_zte_ums_zxnm01_zxss_toolkit_trace_common_getDecode_getH248BinDecode at 28' ... [Not Found]
[root at CGSL-N31 wine]# winebuild --def -E getDecode.spec -o getDecode.def
[root at CGSL-N31 wine]# winegcc -I/home/wine/wine-1.1.32/include -I. -lgetDecode getDecode_main.c -o getDecode_main.so -D__WINESRC__ -L. -L/usr/local/lib -lwine -lwinecrt0 -shared -specs=./getDecode.spec
gcc: specs file malformed after 139 characters
winegcc: gcc failed
The following is the content of getDecode.spec file:
# Generated from getDecode.dll by winedump
1 stub _Java_com_zte_ums_zxnm01_zxss_toolkit_trace_common_getH248Decode_getH248BinDecode
The following is the content of getDecode_main.c file:
/*
* getDecode.dll
*
* Generated from getDecode.dll by winedump.
*
* DO NOT SUBMIT GENERATED DLLS FOR INCLUSION INTO WINE!
*
*/
#include "config.h"
#include <stdarg.h>
#include "windef.h"
#include "winbase.h"
#include "getDecode_dll.h"
#include "wine/debug.h"
WINE_DEFAULT_DEBUG_CHANNEL(getH248Decode);
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
{
TRACE("(0x%p, %d, %p)\n", hinstDLL, fdwReason, lpvReserved);
switch (fdwReason)
{
case DLL_WINE_PREATTACH:
return FALSE; /* prefer native version */
case DLL_PROCESS_ATTACH:
DisableThreadLibraryCalls(hinstDLL);
break;
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}
/******************************************************************
* _Java_com_zte_ums_zxnm01_zxss_toolkit_trace_common_getH248Decode_getH248BinDecode at 28 (GETH248DECODE.1)
*
*
*/
#if 0
__stdcall GETH248DECODE__Java_com_zte_ums_zxnm01_zxss_toolkit_trace_common_getH248Decode_getH248BinDecode()
{
/* @stub in .spec */
}
#endif
My question is :what's wrong i have made?why can't i succeed to do the winegcc?what is the proper way to get the .so file?thank you in advance,thank you!
More information about the wine-users
mailing list