This is the mail archive of the java@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: creating shared dlls yields undefined reference to `WinMain@16' in mingw 4.3


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" <aph@redhat.com>
To: "Daniel Walter" <d2walter@hotmail.com>
Cc: <java@gcc.gnu.org>
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.



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]