gcjって使ってる人います?
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNG本家
http://gcc.gnu.org/java/
関連:
「GCCについて part2」
http://pc2.2ch.net/test/read.cgi/tech/1046179115/
0153デフォルトの名無しさん
NGNG0154デフォルトの名無しさん
NGNGjava.awt.GraphicsDevice#isFullScreenSupported() がtrueなら
java.awt.GraphicsDevice#setFullScreenWindow(Window w) でフルスクリーン。
>>153
変なこと書かないように。
0155デフォルトの名無しさん
NGNG0156デフォルトの名無しさん
NGNGgcj って awt をあんまりサポートしてないのにできるんだ?
0157デフォルトの名無しさん
NGNG0158デフォルトの名無しさん
NGNGcni使って自分でラップしたら。jni使ったことあるならcniには感動するぞ。
0159デフォルトの名無しさん
NGNG>>50-51さんが書かれていた現象と同じ状況に陥っています。
http://page.freett.com/gikob/gcj/gcjswt.html のやり方に従い、
cygwinを用いてgcjで実行ファイルを作成するところまではできましたが、
実行時に、PATHを通している所にswtのdllを置いても、
Exception in thread "main" java.lang.UnsatisfiedLinkError: swt-win32-2136: file not found
<<No stacktrace available>>
と出てしまい、実行できません。
cygwinでswtの使用がうまく行った方、教えてください。
素直にMingW版gcj/swt
http://www.thisiscool.com/gcc_mingw.htm
を用いたほうがいいのでしょうか。
なにか勘違いしてたらご指摘お願いします。
0160デフォルトの名無しさん
NGNGhttp://www.thisiscool.net/gcc34-20040320.tar.bz2
あの後上記サイトにあるmingWのgcc/gcj詰め合わせ↑をDL&解凍し、
そちらにPATHを通し再度プログラム生成を行いました。
http://page.freett.com/gikob/gcj/gcjswt.html
こちらの手順の5. によりswt.oの再生成をおこない、
6.を実行するとできました。ただ、cygwinのシェル上から実行しても
ディレクトリ指定がうまくできず、同じディレクトリにswt.jar,swt.oを置いて行いました。
続けて、
ネイティブなクロスプラットフォームGUIアプリケーションを作成する (再考)
http://www-6.ibm.com/jp/developerworks/java/030711/j_j-nativegui2.html
の手順に沿って、j-nativegui2.zip内のサンプルをAntを利用してビルドを行ってみました。
こちらもうまく行きました。
0161159
NGNGhttp://amateras.sourceforge.jp/cgi-bin/fswiki/wiki.cgi/swt?page=FrontPage
内のプログラムをコンパイルしてみましたが、
gcj LabelSample1.java --main=LabelSample1 -I. -Iswt.jar swt.o -o LabelSample1
こちらも実行できました。しかし文字化けしてしまいました。
そこで再度スレの内容を確認し、>>67さん、>>97さんの書き込みに気づき、
http://freett.com/gikob/gcj/japanese.html のページを参照し、
i686-pc-mingw32/lib/libgcj.aからInput_SJIS.oとOutput_SJIS.oを取り出し、
javac LabelSample1.java -classpath swt.jar
gcj -Dfile.encoding=SJIS -Iswt.jar -mwindows --main=LabelSample1 -o LabelSam
ple1 LabelSample1.class swt.o Input_SJIS.o Output_SJIS.o
とすることでSWT上で日本語表示ができました。
できればインストール済みのcygwin gcc/gcj3.3.1をそのまま使いたかったのですが、↑のgcc(3.4?)がgcj/swt専用に作られたものみたいなので
そちらを使います。(gcj実行中にいくつかプロンプト画面が立ち上がるのが気になりますが・・)
ありがとうございました。
0162デフォルトの名無しさん
NGNGなんかいまいちわからん
0163デフォルトの名無しさん
NGNG-Duser.language=ja -Duser.region=JP
とか指定すると locale を切り変えられるんだけどこれって他の
方法はないのでしょうか??
できたら実行時に実行環境のlocaleを見てほしいんですが…
thisiscool の gcj を使ってます。
0164login:Penguin
NGNG変だね。
とりあえず、ホームディレクトリの.i18nファイルに
LC_ALL=ja_JP
って書いておけば、次回起動時から反映されるかも
0165デフォルトの名無しさん
NGNG0166デフォルトの名無しさん
NGNGantだとエラーで終わって、gcj直だと無事終了する。
antもgcjも "hallo world" ではうまくいったので大きく間違っている部分はないはず。
ant build.xml:
<property name="mainclass" value="nippon.tokyo.dreamtheater.smaf.SMAFMake"/>
<property name="basedir" value="."/>
<property name="srcdir" value="nippon/tokyo/dreamtheater/smaf"/>
<property name="dstfile" value="../bin/execute.exe"/>
<apply executable="gcj" dir="${basedir}">
<arg line="-o ${dstfile}"/>
<arg value="--main=${mainclass}"/>
<fileset dir="${srcdir}" includes="*.java"/>
</apply>
gcj:
gcj -v -o ../bin/execute.exe --main=nippon.tokyo.dreamtheater.smaf.SMAFMake nippon/tokyo/dreamtheater/smaf/*
0167デフォルトの名無しさん
NGNGイラクに匹敵する世界第2位の量の石油が眠っている。
そしてその資産はなんと、640兆円にもなる
(日本の年間国家予算は約80兆円なので8年分に相当)
ミ ∧_∧
⊂ヾ(・∀・ ) ヘェーヘェーヘェーヘェーヘェ
∩ ゝヽ ⊂_ノヽ
だが、その資源が日本政府のせいで全て水の泡になりそうだ
えぇ━━(゚Д゚;)━━━!!!!!
詳しくわ↓
http://mobius1.nobody.jp/
http://blog.livedoor.jp/team_lifeline/
0168デフォルトの名無しさん
NGNGエラーで終ったんならエラーメッセージくらい書いてくれないと…
エラーメッセージもなしに誰が答えられるってのよ…?
とりあえず
<apply executable="gcj" dir="${basedir}">
を
<apply executable="echo" dir="${basedir}">
とかに書き換えて期待した通りの引数が渡っているかどうか
を確認するとかはどうよ?
0169166
NGNGそういえば、忘れてました。エラーメッセージ。
↓こんなのがソースファイルの数だけでてます。
[apply] /home/user/tmp/ccFGtfvO.o(.text+0x24): In function `main':
[apply] : undefined reference to `nippon::tokyo::dreamtheater::smaf::SMAFMake::class$'
[apply] collect2: ld returned 1 exit status
[apply] Result: 1
0170デフォルトの名無しさん
NGNGmain が参照している
nippon.tokyo.dreamtheater.smaf.SMAFMake
クラスが見つからないってことね…
なんとなく分った…
fileset でファイル全部を指定しているつもりなんだろうけど,その指定
の仕方だと fileset でマッチした各ファイルについて gcj を実行する
ことになるんじゃなかったかな?
だから複数の *.java があるとクラスが見付からなくてエラーになる
0171デフォルトの名無しさん
NGNGこんな感じでどうでしょう…?
parallel="true" がポイントね。
<apply executable="gcj" dir="${basedir}" parallel="true" >
<arg line="-o ${dstfile}"/>
<arg value="--main=${mainclass}"/>
<srcfile/>
<fileset dir="${srcdir}" includes="**/*.java"/>
</apply>
0173162
NGNGこんなんでる。↓
cnisupport.cc:33:21: gcj/cni.h: No such file or directory
cnisupport.cc:34:31: java/lang/Integer.h: No such file or directory
cnisupport.cc:35:30: java/lang/String.h: No such file or directory
cnisupport.cc:36:33: java/util/Hashtable.h: No such file or directory
In file included from cnisupport.cc:37:
cnisupport.h:36:21: gcj/cni.h: No such file or directory
cnisupport.h:37:30: java/lang/String.h: No such file or directory
In file included from cnisupport.cc:37:
0174126
NGNG0175デフォルトの名無しさん
NGNG0177デフォルトの名無しさん
NGNGせっかくなんで宣伝しときますw
http://page.freett.com/gikob/gcj/index.html
0178デフォルトの名無しさん
NGNGgcjはWindowsのものでもthisiscoolのgcjとmingw公式のgcjとcygwinのgcjがあるんで
どれか明記したほうがいいよ
0179176
NGNG世の中の10%はWindowsを使っていないってこともあるし、
俺もその10%に入るので、せっかくの情報もあまり関係ないことに。
う〜ん。やっぱりSWTで作るべきかなぁ〜?
http://www.google.co.jp/search?q=gcj+toolkit&ie=UTF-8&hl=ja&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=
これだけあるけど、Swingの代わりってどれがいいんだろう?
0180デフォルトの名無しさん
NGNGLinuxならGNU classpathがあるけどあれってまだAWTだけだったかもしれん・・・
0181デフォルトの名無しさん
NGNG> 世の中の10%はWindowsを使っていないってこともあるし、
> 俺もその10%に入るので
そうだったらなおさら明記すべきだと思うが・・・
0182デフォルトの名無しさん
NGNGgui toolkitがどれもこれもうまくインストールできない。
しょうがないので自作しようと思うが、
swingでいうところの、
JWindow,JFrame,JButton,JLabel,JCheckBox,JRadioButton,JTextArea,JTextFieldと
レイアウトマネージャさえあればいいのかしら?
0183デフォルトの名無しさん
NGNGTk の項とか。
ttp://www.interq.or.jp/japan/s-imai/tcltk/basis.html
0184デフォルトの名無しさん
NGNG0185デフォルトの名無しさん
NGNG0186デフォルトの名無しさん
NGNGそうすると、jni経由でSwingも使えるかな?
やってみるか
0187デフォルトの名無しさん
NGNG0188デフォルトの名無しさん
NGNGそもそも gcj でまともに動く Swing があるのか,と…
0189デフォルトの名無しさん
NGNGおもしろいけど、使い物にならないんだろうな。
0190デフォルトの名無しさん
NGNGLinux上のgcjで、SWTを使おうとしているのだけど
1
2
3 import org.eclipse.swt.SWT;
4 import org.eclipse.swt.graphics.Image;
5 import org.eclipse.swt.layout.RowLayout;
6 import org.eclipse.swt.widgets.Display;
7 import org.eclipse.swt.widgets.Label;
8 import org.eclipse.swt.widgets.Shell;
9
10 /** Image View sample **/
11 public class sampleswt01
12 {
13
14 /** main method of View Image **/
15 public static void main(String args[])
16 {
0191190
NGNG18 Shell shell = new Shell(display);
19 shell.setText("Image View");
20 shell.setLayout(new RowLayout());
21 Image image = new Image(display,"./kago.jpg");
22 Label label = new Label(shell,SWT.NONE);
23 label.setImage(image);
24 shell.pack();
25 shell.open();
26 while(!shell.isDisposed())
27 {
28 display.readAndDispatch();
29 display.sleep();
30 }//while
31 display.dispose();
32 }//main
33
34 /** non exec constractor **/
0192191
NGNG36 {
37 }//method sampleswt01
38
39 }//class sampleswt01
という単純なソースを
gcj --main=nippon.tokyo.dreamtheater.test.sampleswt01 -fjni -L/usr/local/lib -lswt-gtk2 -fjni -I/usr/local/lib/libswt-gtk2.jar -o ../bin/sampleswt01 nippon/tokyo/dreamtheater/test/sampleswt01.java
という単純なコンパイルを行って、実行ファイルはできあがったのですが、
Exception in thread "main" java.lang.UnsatisfiedLinkError: memmove
at _Jv_LookupJNIMethod (/usr/lib/libgcj.so.4.0.0)
at org.eclipse.swt.internal.gtk.OS.memmove(org.eclipse.swt.internal.gtk.GtkStyle, int) (/usr/local/lib/libswt-gtk2.so)
at org.eclipse.swt.widgets.Display.initializeSystemResources() (/usr/local/lib/libswt-gtk2.so)
at org.eclipse.swt.widgets.Display.init() (/usr/local/lib/libswt-gtk2.so)
at org.eclipse.swt.graphics.Device.Device(org.eclipse.swt.graphics.DeviceData) (/usr/local/lib/libswt-gtk2.so)
at org.eclipse.swt.widgets.Display.Display(org.eclipse.swt.graphics.DeviceData) (/usr/local/lib/libswt-gtk2.so)
at org.eclipse.swt.widgets.Display.Display() (/usr/local/lib/libswt-gtk2.so)
at nippon.tokyo.dreamtheater.test.sampleswt01.main(java.lang.String[]) (Unknown Source)
というよくわからないエラーが出てとまります。
memmoveが見付からないみたいですが、それがどこにあるのか見当がつきません。
0193デフォルトの名無しさん
NGNG0194192
NGNG見ました.
memmoveのソースはカーネルのあたりにあったのですが、
manによると、引数をとるようですね。
でも、このエラーでは何も出てませんね。
そもそも、memmoveが見付からないという状況がわからないんですが。
0195デフォルトの名無しさん
NGNG見付からないのは、native memmoveがJNI経由で呼ぶmemmoveってメソッドだから、
man memmoveででてくるやつとは関係ない。
たぶんあんたの環境に、libswt-pi.soってのが足りないんだと思う。
0196195
NGNG補足。完全に関係無いって訳ではなく、JNIから呼ばれるmemmove内から、
man memmoveに出てくるやつが呼ばれてるはず。だけど、今回の問題とは
関係ないってこと。
0197デフォルトの名無しさん
NGNG↑の手順でやってもswt.oが生成されない…
0198デフォルトの名無しさん
NGNG> 2. インストールしたら cygwin のシェルで
> $gcc -v
> と打ってみましょう。
> バージョンが 3.x、--enable-languages に java が入っていることを確認してください。
大量のオプションがずらずら一行で並んで
5秒たっても見つからなかったので↓こうしました。
$ for s in `gcc -v 2>&1`; do echo $s; done | grep languages
結果、
--enable-languages=c,ada,c++,f77,pascal,java,objc
入ってますたが、もっと分かりやすい見分け方はないんですか?
0199197
NGNG0200デフォルトの名無しさん
NGNG0201デフォルトの名無しさん
NGNGgcjで作ったバイナリの配布等、制限ありますか?
英語はどうも苦手で…
0202デフォルトの名無しさん
NGNG基本的には libgcj は GPL なので、スタティックリンクするにしろ
ダイナミックリンクするにしろ、 GPL で配布しなければならない。
ただし、使用している libgcj が LIBGCJ_LICENCE などで例外的に
GPL にとらわれないリンクを認めている場合がある。
要は使ってる libgcj による。
0203デフォルトの名無しさん
NGNGLGPLじゃなかったっけ?
ダイナミックリンクならGPLにしなくても
いいんじゃなかったっけ?
0204デフォルトの名無しさん
NGNGGPLです。
http://gcc.gnu.org/java/faq.html#1_1
> libgcj is distributed under the GPL
0205デフォルトの名無しさん
NGNG0206デフォルトの名無しさん
NGNGっつか、その程度も他人に頼らんと出来ないなら gcj を使うのは素直に諦めた方が…
0207デフォルトの名無しさん
NGNG>>204 のリンク先にlibgcjが理由で
GPLになったりしないって書いてありました。
LIBGCJ_LICENSEのほうは例外として
他の部分でライセンスの不整合がなければ
バイナリを作るためにリンクしても
できたバイナリの複製、配布はじゆうですよ。て意味かなあ。
0208デフォルトの名無しさん
NGNG0209デフォルトの名無しさん
NGNG0210デフォルトの名無しさん
NGNGそだね。ライセンス読まずに自分勝手な解釈してるし。
0211デフォルトの名無しさん
NGNGっつーか、libgcj が使ってる GNU Classpath も GPL なので。
0212デフォルトの名無しさん
NGNG> 他の部分でライセンスの不整合がなければ
> バイナリを作るためにリンクしても
> できたバイナリの複製、配布はじゆうですよ。て意味かなあ。
て意味ではありません。
っつか、人工無能翻訳でも もうちょっとマトモだと思う……
やっぱり gcj を使うのは素直に諦めた方が……
0213デフォルトの名無しさん
NGNG0214デフォルトの名無しさん
NGNGhttp://gcc.gnu.org/java/faq.html#1_1
1.1 What license is used for libgcj?
libgcj is distributed under the GPL, with the 'libgcc exception'. This means that linking with libgcj does not by itself cause your program to fall under the GPL. See LIBGCJ_LICENSE in the source tree for more details.
釣ってるの?
0215デフォルトの名無しさん
NGNG例外規定
As a special exception, the copyright holders of this library give you
permission to link this library with independent modules to produce an
executable, regardless of the license terms of these independent
modules, and to copy and distribute the resulting executable under
terms of your choice, provided that you also meet, for each linked
independent module, the terms and conditions of the license of that
module. An independent module is a module which is not derived from
or based on this library. If you modify this library, you may extend
this exception to your version of the library, but you are not
obligated to do so. If you do not wish to do so, delete this
exception statement from your version.
0216デフォルトの名無しさん
NGNG特別の例外として、このライブラリーの著作権保有者は、
独立したモジュールのライセンス条件にかかわらず、
それぞれのリンクされた独立したモジュールに対し
そのモジュールのライセンス条件が適合すれば、
あなたの選んだ条件の下に、実行ファイルを作成するため、
作成された実行ファイルを複製し配布するためにこのライブラリーを
独立したモジュールとリンクする許可をあなたに与えます。
独立したモジュールとはこのライブラリーに由来しないか、
基づかないモジュールです。
このライブラリーを修正した場合は、あなたのバージョンのライブラリーに
この例外を拡張してもよいですが、しかし、そのようにする義務はありません。
あなたがそのようにしたくない場合は、あなたのバージョンからこの例外を
削除してください。
0217デフォルトの名無しさん
NGNG0218デフォルトの名無しさん
NGNG0219デフォルトの名無しさん
NGNGhttp://gcc.gnu.org/ml/java/2003-11/msg00300.html
On Tue, 2003-11-25 at 23:56, Steve D. Perkins wrote:
> I found information on the licensing for GNU Classpath, but that
> left me even more confused. For one thing, it's the GPL with a "special
> exception" that seems to essentially make it LGPL'ed (why do certain
> people hate the LGPL so much? do you really think calling it by another
> name makes it different?).
It is definitely different. The GPL+exception license we use does not
have the relinking requirement present in the LGPL. This makes it much
more friendly to embedded developers generating static executables (for
instance). The license is similar in spirit to the libgcc and libstdc++
licenses.
0220デフォルトの名無しさん
NGNGよろしければ、方法詳細ご教授願いたく。
0222デフォルトの名無しさん
NGNGhttp://sourceforge.net/projects/libswt/
http://sourceforge.net/projects/swingwt/
http://sourceforge.net/projects/gnome-gcj/
http://sources.redhat.com/rhug/
http://sourceforge.jp/projects/sdl4gcj/
0223デフォルトの名無しさん
NGNG感想希望
0224デフォルトの名無しさん
05/01/19 16:52:270225デフォルトの名無しさん
05/02/03 00:09:59SWTが必要なあたりがアレだよね
RHUGっていまいちわからんのだがなんなの?
0226デフォルトの名無しさん
05/02/03 00:17:420227デフォルトの名無しさん
05/02/03 04:01:14を念頭において実装するときに最下層に持ってきて地ならしするにはいいと
おもうんだけど。
IBMも自社製品でmotif/gtk/qt/win32の上にAWTを実装するのにSWTを
下に敷いてる。
0228デフォルトの名無しさん
05/02/03 21:00:02SwingWT単体で使ったのでちとスレ違いだが、ちょっとだけさわったことがある。
Eclipse VE が吐いたコードを、import宣言だけ変えてコンパイルしてみたが上手くいかなかった。
BoxLayoutが無い、JFrame#setDefaultCloseOperation(int)がない、
など、普段よく使うクラスやメソッドがサポートされて無くてげんなりした覚えがある。
0.84の頃だったかな。
0229デフォルトの名無しさん
05/02/03 21:12:330230デフォルトの名無しさん
05/02/03 21:19:37共有ライブラリ化しておけば実行ファイルは小さくなる?
0231デフォルトの名無しさん
05/02/03 22:05:04rhug は Java で書かれたクラスライブラリをGCJでコンパイルできる
ようにしたものの集合…かなぁ?
扱っているライブラリの一覧は
http://sources.redhat.com/rhug/index.html
で見れるはず…
Xerces + Xalan や Log4j,JUnitなんかも入っているんだけど
どの程度ちゃんつ動くかは知らん…
Xerces と Xalan だけはちょっとだけ試して一応動くことは確認したけど…
0232デフォルトの名無しさん
05/02/04 22:24:35SwingWT で swing のAPIを使うくらいならそのままSWTを使うかな…
>>228 も書いてるけど足りないメソッド,動作しないメソッドがあって
既存のswingアプリを動かすにはかなり手間かな…
0233デフォルトの名無しさん
05/02/07 17:08:42小さくなるがそのランタイムは7Mくらいあるぞ
まぁJREよりはマシだけど本末転倒だよな
0234デフォルトの名無しさん
05/02/07 17:44:48http://gcc.gnu.org/ml/java/2005-02/msg00024.html
0235デフォルトの名無しさん
05/02/07 19:57:070236デフォルトの名無しさん
05/02/07 21:04:04実装の名前は忘れたけど。
Cで実装したjarも速くてイカす。
0237デフォルトの名無しさん
05/02/07 22:13:18それが何か
教えて欲しいから☹age
0238デフォルトの名無しさん
05/02/08 00:35:240239デフォルトの名無しさん
05/02/08 03:35:20例外規定なしのバイナリとであれば静的/動的に関わらずリンクしたらGPLに感染する。
例外規定がある場合は例外規定の内容による。
0240デフォルトの名無しさん
05/02/08 03:53:37rhugはobsoletedになったようです。
0241デフォルトの名無しさん
05/02/08 04:06:040242デフォルトの名無しさん
05/02/08 04:11:400243デフォルトの名無しさん
05/02/08 04:13:430244デフォルトの名無しさん
05/02/08 14:50:08常に例外規定があるわけではない。
作者はいつ例外規定を書き換えたり無くしたりしても構わないし、
例外規定には「ライブラリを改変した者は改変バージョンの配布時に
例外規定を削っても良い」と明記してある。
0245デフォルトの名無しさん
05/02/08 14:53:33> If you modify this library, you may extend this exception
> to your version of the library, but you are not obligated to do so.
> If you do not wish to do so, delete this exception statement
> from your version.
0246デフォルトの名無しさん
05/02/08 15:29:320247デフォルトの名無しさん
05/02/08 16:13:490248デフォルトの名無しさん
05/02/10 00:33:40今手元にマシンないけどたぶんgcjだった気がする。
パフォーマンスっていうか、立ち上がりがよくて軽快。
ロードしてからだったら計測したらsunの方が上なんだろうけど
オレは起動が速いほうがいい。
0249デフォルトの名無しさん
05/03/02 03:13:190250デフォルトの名無しさん
05/03/06 00:54:040251デフォルトの名無しさん
05/03/06 03:52:000252デフォルトの名無しさん
05/03/13 23:18:57■ このスレッドは過去ログ倉庫に格納されています