Re: creating shared dlls yields undefined reference to `WinMain@16' in mingw 4.3
"Daniel Walter" <[email protected]>
| Newsgroups | gmane.comp.gcc.java.devel |
|---|---|
| Message-ID | <[email protected]> |
I tried adding -Wl,-y,_WinMain@16 so that I could find out where this reference was missing. The result was main.o - this was also in the previous output. I am not sure this is the best way to do things, but I did an objdump on my dlljava.o test file that produced some symbols. I then tried to link without dlljava.o, but with -Wl,-u which forces the linker to resolve a symbol. It failed as soon as I used symbols that were in libgcj.a - particularly java.lang.Object when I used the symbol __ZN4java4lang6Object6class$E. I also tried making a WinMain and putting it in a C++ file. This allowed it to link a dll, but this may be causing other problems and is not really my desired solution. Daniel ----- Original Message ----- From: "Andrew Haley" <[email protected]> To: "Daniel Walter" <[email protected]> Cc: <[email protected]> Sent: Tuesday, December 16, 2008 12:29 PM Subject: Re: creating shared dlls yields undefined reference to `WinMain@16' in mingw 4.3 > Daniel Walter wrote: >> It appears that libmingw.a is causing the problem, though this library >> can be linked to form a dll as long as no gcj object files are linked as >> well. Below are the results of the attempts to link with 'g++ -v' first >> with gcj objects which failed and the second time with only g++ objects. > > So, which object file in libmingw.a contains the undefined reference to > `WinMain@16' And what dependency is causing it to be pulled in? > > Andrew. >