【ジュンク堂に行ってきました】
主に僕が出没するのは、地下1階のコンピュータ関連の棚 (もしくは数学/物理学/英語の棚。 いずれも地下1階) です。
今日も、C++ とか Java とか画像処理とかをひととおり物色し、ゲームプログラミング関連の書棚へ向かったところ、なにやらお詫びのポップが掲げられていました。
『ゲームプログラマになる前に覚えておきたい技術』 という本が品切れで、それに関する案内だったようです。 そんなに人気なのか……。
モノ作り産業って仕事に生き甲斐を感じる人が多いから激務にも耐えられるという闇のからくりが上手く働いて (ry
◆
【Eclipse で Java3D を使おう】
Eclipse で Java3D ライブラリを使おうとしたら躓いた (コンパイル時になんか変なエラーが出た)。
もしかしたら地球上のどこかで同じように困っている人々がいるかも知れませんので、自分なりの解決策をここに載せておきます。
ここでは、
> Java3D をインストールしたはずなのに、(エラーを示す) 赤い波線が消えない
> ビルド・パスの追加って何?
> ビルド・パスを追加したのにコンパイル時におかしなエラーが出る
……といったトラブルに対応しています。 Java3D がインストール (Windows ならばダブルクリックするだけでOK) されている事を前提に話を進めますね。
◆
<<ライブラリの追加>>
(1) Java3D を使いたいプロジェクト名を右クリック
(2) 「ビルド・パス」 → 「ライブラリーの追加」 をクリック

(3) 「ユーザー・ライブラリー」 を選択
(4) 「設定 (フィルター済み)」 ダイアログで 「新規ユーザー・ライブラリ」 をクリック
(5) ユーザー・ライブラリー名を適当に (ここでは Java3D) と設定
(6) 「JARの追加」 をクリック
(7) ライブラリ (僕の場合は Java3D\1.5.1\lib\ext 内にあるすべての jar ファイル) を選択し、OK をクリック
これで、エディタ上でエラーを示す赤色の波線が消えてめでたしめでたし……そうは問屋が卸しません。
ここでコンパイルしようとすると、
2008/12/13 12:34:00 javax.media.j3d.NativePipeline getSupportedOglVendor
致命的: java.lang.UnsatisfiedLinkError: no j3dcore-ogl-chk in java.library.path
Exception in thread "main" java.lang.UnsatisfiedLinkError: no j3dcore-d3d in java.library.path
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at javax.media.j3d.NativePipeline$1.run(NativePipeline.java:189)
at java.security.AccessController.doPrivileged(Native Method)
at javax.media.j3d.NativePipeline.loadLibrary(NativePipeline.java:180)
at javax.media.j3d.NativePipeline.loadLibraries(NativePipeline.java:137)
at javax.media.j3d.MasterControl.loadLibraries(MasterControl.java:948)
at javax.media.j3d.VirtualUniverse.<clinit>(VirtualUniverse.java:280)
at ○○.main(○○.java:x)
みたいなエラーメッセージが出てしまいます (出ない人はめでたしめでたし)。
プログラミングに関してよく解らない方でも、「致命的」 という言葉にそこはかとない危機感を覚えられるのではないでしょうか。
Java3D の内部では Native なメソッドを呼び出して処理を行っているらしいのですが、どうやらその連携がうまく行っていないようです (僕の場合、Java3D をインストールしただけでは PATH が自動設定されず、ここで躓いた)。
次はこれを解決してみましょう。
◆
<<環境変数 PATH に、DLL ファイルへのパスを追加>>
(1) 「実行」 メニューの 「構成および実行」 をクリック
(2) 「環境」 タブを選択
(3) 「新規」 をクリック
(4) 「変数名」 項目に 「PATH」 と入力し、その値を dll ファイルがあるディレクトリのパス (僕の場合は 「C:\Program Files\Java\Java3D\1.5.1\bin」) に設定。
(5) 「OK」 をクリック
◆
僕はこれで正しく実行できるようになりました。 ご参考までに。
最近のコメント