Mit lwjgl in Leiningen / Clojure
Lösung
<code>(1) (println (. System getProperty "java.library.path")) </code>
Dies gibt mir eine Liste von Orten, an denen Java nach nativen Erweiterungen sucht.
Dann nahm ich die lwjgl-nativen Erweiterungen und legte sie dort ab.
Dinge, die bei mir nicht funktionierten (wahrscheinlich, weil ich sie falsch verwendet habe)<code>(*) setting :native-path (*) setting :native-dependencies </code>Problem
Mein Setup:
<code>(lein deps; echo "====="; cat project.clj; echo "====="; cat src/main.clj; echo "====="; lein repl) &> log </code>
Inhalt von "log"
<code> Copying 10 files to /Volumes/ramdisk/fail/lib ===== (defproject mincase "0.0.1" :dependencies [[org.clojure/clojure "1.4.0"] [org.lwjgl.lwjgl/lwjgl "2.8.2"] ] :repositories {"local" "/Users/x/z/maven_repo"} :jvm-opts ["-Xms4g" "-Xmx4g"] :repl-init main ) ===== (ns main (:import org.lwjgl.opengl.Display)) ===== REPL started; server listening on localhost port 31235 UnsatisfiedLinkError no lwjgl in java.library.path java.lang.ClassLoader.loadLibrary (ClassLoader.java:1860) clojure.core=> </code>
Hinweis - Ich hatte bereits eine "Lein-Deps" durchgeführt, daher wurde die Lwjgl-Bibliothek in den Maven gezogen. Was ich nicht verstehe, sind:
<code>(*) how do I get access to lwjgl from Clojure? (*) more importantly, how do I debug which step this whole thing has gone wrong at? </code>
$ find lib
<code>lib lib/clojure-1.4.0.jar lib/jinput-2.0.5.jar lib/jinput-platform-2.0.5-natives-linux.jar lib/jinput-platform-2.0.5-natives-osx.jar lib/jinput-platform-2.0.5-natives-windows.jar lib/jutils-1.0.0.jar lib/lwjgl-2.8.2.jar lib/lwjgl-platform-2.8.2-natives-linux.jar lib/lwjgl-platform-2.8.2-natives-osx.jar lib/lwjgl-platform-2.8.2-natives-windows.jar </code>
Lwjgl scheint also eingezogen worden zu sein.
Welche Schritte sollte ich ausführen, um herauszufinden, bei welchem Schritt ich einen Fehler gemacht habe?
Vielen Dank!