java - 线程中出现异常 "main"java.lang.UnsatisfiedLinkError : no libz3java in java. library.path

标签 java z3

我是 z3 和 java 的初学者,并且已经尝试安装它有一段时间了。我已遵循 http://leodemoura.github.io/blog/2012/12/10/z3-for-java.html 上给出的所有说明一直到最后一步,即运行就成功了 -

“LD_LIBRARY_PATH=.java -cp com.microsoft.z3.jar:.JavaExample”(在 Linux 和 FreeBSD 上)命令。

然后我收到一条错误消息 - Thread "main"java.lang.UnsatisfiedLinkError 中的异常: java.library.path 中没有 libz3java: [.,/usr/java/packages/lib,/usr/lib/x86_64 -linux-gnu/jni、/lib/x86_64-linux-gnu、/usr/lib/x86_64-linux-gnu、/usr/lib/jni、/lib、/usr/lib]

为了解决这个问题,我用谷歌搜索,发现你需要设置 LD_LIBRARY_PATH,我已经按照各个页面上给出的建议进行操作,但没有成功。另外,在“env | grep '^LD_LIBRARY_PATH' ”的输入中,我得到 - LD_LIBRARY_PATH=/home/chaitanya/z3/build,这是我的 libz3java.so 文件所在的位置,我相信这就是所要求的。

你能告诉我如何让它工作吗?上次我更改了整个“usr”文件夹的权限并通过更改整个文件夹的权限粘贴了 libz3java.so 文件,这导致了很多问题和复杂性,最终导致我用新的格式格式化我的系统安装Ubuntu。解决此问题并使 z3 java 绑定(bind)在我的系统上运行的最简单方法是什么?

最佳答案

以防万一:在 OSX 上是 DYLD_LIBRARY_PATH 。对于某些 Java 版本,可能需要将 Z3 目录添加到 java.library.path如您的错误消息中所示。即运行 java -Djava.library.path="/path/to/directory/containing/libz3java.so" ...

关于java - 线程中出现异常 "main"java.lang.UnsatisfiedLinkError : no libz3java in java. library.path,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50857461/

相关文章:

z3 - UFBV 类别的基准

c# - 访问 Z3 中 `exists` 范围的变量

z3 - (check-sat) vs (check-sat-using smt)

java - 从数据库中获取值

java - 有没有JList的懒加载实现?

java - 如果 firebase 中存在相同的值,如何创建条件

python - 以 SMT2 格式保存 Z3 解算器的 "state"

java - 如果输入参数无效,如何在构造函数中制作防御性副本

java - 我在尝试使用我的方法来检查参数时遇到错误

logic - z3 中的相互递归数据类型及其与内置类型的交互