SWT 3 and gcj
Simon Rutishauser
simon.rutishauser@gmx.ch
Tue Oct 14 17:27:00 GMT 2003
I'll give it a run. Just need to fetch it...
Peschmä
Am 2003年10月14日 01:02:06 -0400 schrieb Rutger Ovidius:
> Has anyone had success with SWT 3 and gcj?
>> Since SWT 2 has so many bugs, I would like to compile my application with
> SWT 3. I am attempting this on windows.
>> Eclipse Milestone 4 was recently released. SWT 3 from Milestone 4 is what
> I am using. (www.eclipse.org)
>> With gcj 3.3.1, I get many verification problems when trying to compile
> from the SWT.jar file (.class files). When compiling from the source
> .java files, I eventually succeed in building a libswt.a file, if I remove
> some of the source files from the CLASSPATH and compile them from outside
> of the CLASSPATH. (I'm still not sure why this is necessary)
>> With the thisiscool 3.4 build: (gcc version 3.4 20031006 (experimental)),
> I get
> less errors when compiling from .java source (only 2), but seemingly more
> fatal:
>> ./org/eclipse/swt/custom/StyledText.java:162: internal compiler error:
> tree check: expected class 'd', have 'x' (error_mark) in
> make_nested_class_name, at java/parse.y:3484
>> But, moving this file outside of the CLASSPATH and compiling it from there
> seems to work.
>> I use the build.sh from the thisiscool package for SWT building.
>> (gcj -fjni -c -o <all java files>, ar -rcs *.o libswt.a, ranlib libswt.a)
>> Once I create my libswt.a, I link my test app to it just as I do with
> SWT2. My SWT2 libswt.a works fine, but nothing I try with SWT3 will work.
> Getting a simple Display fails. (The swt-win32-3024.dll is in the same
> directory and is not the problem).
>> Exception in thread "main" java.lang.NullPointerException
> at __GLOBAL__I__ZN4Main4mainEP6JArrayIPN4java4lang6StringEE
> (F:\testswt\Main.java:1)
>> When I compile with "javac" and "java" run it, it works just fine with
> SWT3. Please let me know if you have had success with SWT3 and gcj.
> Thanks.
>> ---
>> public class Main {
> public static void main( String[] args ) {
> Display display = new Display( );
> Shell shell = new Shell( display );
> shell.setLayout( new FillLayout( ) ); shell.open( );
> while ( !shell.isDisposed( ) ) {
> if ( !display.readAndDispatch( ) ) {
> display.sleep( );
> }
> }
> }
> }
> }
More information about the Java
mailing list