この問題で私は半日と3時間ほど悩みましたが、このサイト(http://lwjgl.org/wiki/index.php?title=Downloading_and_Setting_Up_LWJGL)にて解決いたしました。
この環境だとして話します。
OS X 10.9.1
eclipse 4.3
まず、
この環境だとして話します。
OS X 10.9.1
eclipse 4.3
まず、
- Mac OS X
- Open a terminal and navigate to the folder where the archive was extracted (i.e., by using the cd command). Then issue the following command (all in one line):
- java -cp .:res:jar/lwjgl.jar:jar/lwjgl_test.jar:jar/lwjgl_util.jar:jar/jinput.jar: -Djava.library.path=native/macosx org.lwjgl.test.WindowCreationTest
とありました。
で、翻訳するとターミナルを開き、アーカイブを解凍したフォルダに移動します(cdコマンドを使います)
続いて、次のコマンドを実行します(一行に全てある)
java -cp .:res:jar/lwjgl.jar:jar/lwjgl_test.jar:jar/lwjgl_util.jar:jar/jinput.jar: -Djava.library.path=native/macosx org.lwjgl.test.WindowCreationTestとなります。では手順を配布時用に書いていきます。
- 作業用フォルダを作成(今回は私のユーザー名はyusukeなので/Users/yusuke/Desktop/ にGLtestというフォルダを作ったとします)
- eclipseでPackage Explorerにてどこでもいいので右クリック、Export...を選択
- Java>Runnnable JAR Fileを選び、Next
- 起動構成に配布したいプロジェクトを選ぶ
- エクスポート先には/Users/yusuke/Desktop/を選ぶ
- ライブラリー処理は一番下を選ぶ。そしてFinish
- /Users/yusuke/Desktop/GLtest/にGLtest.jarとGLtest_libが生成されます。確認したらTerminalを起動します
- cd /Users/yusuke/Desktop/GLtest/を実行
- emacs start.command(ここは必要に応じて名前を変更)を実行
- emacsの画面が表示されます。そしたらこれをタイプしてください
#! /bin/bash
cd $( dirname $0 )
java -cp ./GLtest_lib/lwjgl.jar:GLtest_lib/slick.jar:${CLASSPATH} -Djava.library.path=./GLtest_lib -jar GLtest.jar #必要に応じて-cpオプションのところにjarを追加
cd $ ( dirname $0 )についてはググれば出てくるはず
java -cpのあとに続いているのはclasspathです。ここでクラスパスを指定しています。
${CLASSPATH}にはデフォルトのクラスパスが入っています。確認する場合は"echo ${CLASSPATH}"
-Djava.library.path=./GLtest_libは、native libraryを指定しています。これがないと
Exception in thread "main" java.lang.UnsatisfiedLinkError: no lwjgl in java.library.path
が発生します。
※重要な話
GLtest_libにはlwjgl.jarなどや、openal.dylibなどのjar+native libraryを入れておく前提にしてあります。
もしjarとnative libraryを分けるとしたらこのようなコマンドになります。
java -cp /lib/lwjgl.jar:lib/slick.jar:${CLASSPATH} -Djava.library.path=./nativelib -jar GLtest.jar
一応参考としてサンプルファイルを配布します。
こ↑こ↓
cd $ ( dirname $0 )についてはググれば出てくるはず
java -cpのあとに続いているのはclasspathです。ここでクラスパスを指定しています。
${CLASSPATH}にはデフォルトのクラスパスが入っています。確認する場合は"echo ${CLASSPATH}"
-Djava.library.path=./GLtest_libは、native libraryを指定しています。これがないと
Exception in thread "main" java.lang.UnsatisfiedLinkError: no lwjgl in java.library.path
が発生します。
- タイプしたら、Control+xのあとsを押して、yを押せば保存されます。そしたらControl+zで終了させましょう
- chmod +x start.commandを実行(ダブルクリックで開けるようにする)
- ダブルクリックで多分開けるようになるはず
※重要な話
GLtest_libにはlwjgl.jarなどや、openal.dylibなどのjar+native libraryを入れておく前提にしてあります。
もしjarとnative libraryを分けるとしたらこのようなコマンドになります。
java -cp /lib/lwjgl.jar:lib/slick.jar:${CLASSPATH} -Djava.library.path=./nativelib -jar GLtest.jar
一応参考としてサンプルファイルを配布します。
こ↑こ↓