From: Francois Gouget fgouget@free.fr To: José Soriano Díaz jose__sor@hotmail.com CC: wine-devel@winehq.com Subject: Re: native dll's Date: Thu, 26 Jul 2001 10:10:17 -0700 (PDT)
On Wed, 25 Jul 2001, José Soriano Díaz wrote:
Hi there, I'm working in a telerobotics project and I need to
link a
windows dll in order to use a Cybernet Joystick. First I tried to use the winAPI functions LoadLibrary, FreeLibrary and GetProccessAddress as I were working on Windows, and I recompiled my program with winelib: *. winemaker /my_path/ *. ./configure *. make all but it didn't create any executable, what I obtained was a lib*.so, because winemaker thought I was trying to compile a dll, not to use one.
To force winemaker to generate an executable simply use it as follows:
type "winemaker --cuiexe /my_path" to indicate a console executable
type "winemaker --guiexe /my_path" to indicate a graphical executable
You can also use "winemaker -?" to get a list of options supported by
winemaker.
So my question is quite siple How can I link a native dll in
a Unix project?
I think you have used the right approach: LoadLibrary / GetProccessAddress / FreeLibrary. If that works for you then it's the simplest approach.
I'm afraid it doesn't work, when I executed what I compiled , I obtained "Undefined Symbol" in any call to the native dll. Thanks anyway for the advice.
_________________________________________________________________ Descargue GRATUITAMENTE MSN Explorer en http://explorer.msn.es/intl.asp
On Fri, 27 Jul 2001, José Soriano Díaz wrote: [...]
So my question is quite siple How can I link a native dll in
a Unix project?
I think you have used the right approach: LoadLibrary / GetProcAddress / FreeLibrary. If that works for you then it's the simplest approach.
I'm afraid it doesn't work, when I executed what I compiled , I obtained "Undefined Symbol" in any call to the native dll. Thanks anyway for the advice.
That's strange. It sounds like you are simply calling the functions but I thought you were using GetProcAddress to get a function pointer and then using that function pointer to call each function you imported from the dll. You should not have any undefined symbol when doing that. It's not C++? (C++ makes things more intractable because each virtual function table is a hidden import of a non function symbol.) Also you should be warned of any undefined symbol at link time. Didn't you get such warnings? What did they say?
-- Francois Gouget fgouget@free.fr http://fgouget.free.fr/ Demander si un ordinateur peut penser revient à demander si un sous-marin peut nager.