2011-12-22 9 views
0

GCJの既知の問題はありますか?<Void, Void>を使用していますか? 、私はさらに下にこれらを取得GCJおよび<Void, Void>

$ gcj -c -g -O Program.java 
Program.java:25: error: '{' expected. 
     class Task extends SwingWorker<Void, Void> { 
             ^
Program.java:25: error: Class or interface declaration expected. 
     class Task extends SwingWorker<Void, Void> { 
             ^
Program.java:25: error: . 
     class Task extends SwingWorker<Void, Void> { 
             ^
3 errors 

また、私は(そう、私のコードは100%機能していない)<Void, Void>を削除する場合:私のコードは、それなしで正常に動作しますが、GCJを使用してexeファイルにそれをコンパイルしようとすると、失敗し行:

$ gcj -c -g -O Program_Full.java 
Program.java:10: error: Class or interface `javax.imageio.ImageIO' not found in import. 
    import javax.imageio.ImageIO; 
     ^
Program.java:25: error: Superclass `SwingWorker' of class `Program$Task' not found. 
     class Task extends SwingWorker { 
          ^
2 errors 

私のコードをコンパイルして実行すると、GCJは特定の側面が好きではないようです。悪いバージョン?私はちょうどそれをダウンロードしました:gcc version 3.4.4(cygming special、gdc 0.12、dmd 0.125を使用)

+0

アプリはありますか? GUIを持っていますか?私は[JWS](http://stackoverflow.com/tags/java-web-start/info)はそれに問題はないだろうと思う。 –

答えて

0

gcjは現在のバージョン、またはあなたのバージョンがサポートしているバージョンはどこですか?ジェネリックスなどのJava 5以降の言語機能を持たないバージョンを使用しています。

gcjを忘れて、代わりにOracle JDKを使用してJavaプログラムをコンパイルして実行することをおすすめします。私の意見では、gcjは深刻なJavaソフトウェア開発には役に立たない。

+0

gcjを使用する主な理由は、ネイティブコードにコンパイルするためでした。あなたはそれについて何をお勧めしますか?これは大したものではなく、jarやその他のものよりもexeとしてほしい小さなアプリです。 – carget

+0

なぜそれをしたいですか?ネイティブのexeファイルにコンパイルしても、Javaランタイムライブラリを実行する必要があります。また、ネイティブコードであるため、実行速度も向上しません。あなたが小さなネイティブexeファイルを望むならば、Javaは残念なことに恐らくおそらく最良のツールではありません。 – Jesper

+0

ああ、私はすでにJavaですべてをコーディングしました。したがって、それをスタンドアロンのexeにする方法はありませんか? – carget

関連する問題