(1) (println (. System getProperty "java.library.path"))
Run Code Online (Sandbox Code Playgroud)
这给了我一个java寻找原生扩展的地方列表.
然后,我使用了lwjgl原生扩展,并将它们放在那里.
(*) setting :native-path
(*) setting :native-dependencies
Run Code Online (Sandbox Code Playgroud)
我的设置:
(lein deps; echo "====="; cat project.clj; echo "====="; cat src/main.clj; echo "====="; lein repl) &> log
Run Code Online (Sandbox Code Playgroud)
"日志"的内容
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=>
Run Code Online (Sandbox Code Playgroud)
注意 - 我已经完成了"lein deps",所以lwjgl库已被拉入maven.我不明白的是:
(*) how do I get access to lwjgl from Clojure?
(*) more importantly, how do I debug which step this whole thing has gone wrong at?
Run Code Online (Sandbox Code Playgroud)
$ find lib
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
Run Code Online (Sandbox Code Playgroud)
所以看来lwjgl已被拉入.
我应该尝试找出哪个步骤出错了?
谢谢!
自从谷歌发现这篇文章以来我的类似问题之后,请放弃此说明.
莱宁根人现在已经解决了这个问题:https: //github.com/technomancy/leiningen/issues/898
如果您获得版本2.1.0或更高版本,它有修复.有关详细信息,请参阅bug.
更新:(2013年8月)
我在github上有一个项目,我在这里使用lwjgl进行实验:https: //github.com/rogerallen/hello_lwjgl
我也在我的shadowrtone项目中使用LWJGL:https://github.com/overtone/shadertone 因为Shadertone是一个库,我发现我需要自己打包本机,以便合理安装依赖于它的项目shadertone.
如果有人对LWJGL人员有所了解,那么如果他们只是将本机放入适当的子目录中,就像lein期望在他们的clojars版本中那样,那肯定会很好.
看来你的有问题LD_LIBRARY_PATH。您是否包含正确.dll的.so文件?
您可能需要:native-dependencies [[lwjgl "2.8.2"]]在您的project.clj.
或者,您可以尝试从 shell 设置正确的值:
export LD_LIBRARY_PATH=/home/username/lwjgl-2.8.2/native/linux/
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3247 次 |
| 最近记录: |