This is the mail archive of the
java@gcc.gnu.org
mailing list for the Java project.
Re: Creating "semi"-shared gcj objects for other gcj applications?
Hi Andrew,
>>>>> However, I just want to make shared objects for use with other gcj
>>>>> applications.
>>>> It's all in the docs.
>>>> * When you compile your classes into a shared library they can be
>>>> automatically loaded by the `libgcj' system classloader.
>>> Ok, thanks... I managed to get it to work using the simple commands:
>>> $ gcj -c MYLIB.java (creates MYLIB.o)
>>> $ gcj -shared -o MYLIB.so MYLIB.o (creates the shared object MYLIB.so)
>>> $ gcj -c MyApplication.java (creates MyApplication.o)
>>> $ gcj --main=MyApplication MyApplication.o MYLIB.so (links
MyApplication
>>> with MYLIB.so)
>> No. :-)
Huum! (o:
>> Try
>> gcj -c -fPIC MYLIB.java
>> gcj -shared -o libMYLIB.so MYLIB.o
>> gcj --main=MyApplication MyApplication.o -L. -lMYLIB
Well, the output seems identical, nevertheless. Though, specifying the
PIC-option made the stripped version of the shared object smaller. Any
explanation?
> Oh Lord, this is Cygwin, isn't it? I'm sorry, I know nothing about
> Cygwin. This would work on Linux... :-)
Hey, who said anything about cygwin?! (Although you're right (o:)
But I still get the "MYLIB.so(.text+0x0):crtstuff.c: multiple definition
of `___do_sjlj_init'" error whether doing it your way or not.
I think I'll just try gcc 3.4, and see if it works there...
Regards,
Martin