- 67 名前:デフォルトの名無しさん mailto:sage [03/07/04 23:29]
- 実行時に必要になるオブジェクトやリソースがリンクされないんだけど…。
public static void main(String[] args) { Calendar.getInstance(); } これがエラーになるんだよね。どのカレンダー実装を使うかは 実行時に判断されるため、リソースオブジェクトがリンク時には リンクされないのだ。 ar x libgcj.a Calendar.o として、リソースオブジェクトを取り出して、 gcj --main=Hello -o Hello.exe Hello.java Calendar.o のように直接リソースオブジェクトを指定すれば、正しくリンクされて きちんと動作する。他にも Input_SJIS.o や Output_SJIS.o などの 文字コードコンバート系 オブジェクトもリンクされないので、 www.thisiscool.com/gcc33_mingw.htm にある バイナリでは、デフォルトでコンソールに日本語を表示することができない。 Input_SJIS.o などをリンクするためには、他から静的に参照されてればいいので、 IOConverter.java などで new Input_SJIS(); などとしておけば良い。 そうすれば、リンク時に Input_SJIS.o が必要だということが分かるから、 ちゃんと Input_SJIS.o がリンクされて日本語が通る。 そのうち、構成しなおした libgcj.a でもアップするか…。
|

|