如何为 Z3 设置 Java 开发环境

Dav*_*oko 4 java installation ubuntu z3

如何为 Z3 SMT 求解器设置 Java 开发环境?

注意: 由作者撰写并回答,请参阅我可以回答我自己的问题吗?.

Dav*_*oko 5

  • Z3 是一个带有 Java 绑定的 C++ 应用程序。通过下载本机分布的,Ubuntu在我们的例子(类似的方法应该适用于MacOS工作),从开始 https://github.com/Z3Prover/z3/releases,例如:z3-4.8.7-x64-ubuntu-16.04.zip

  • 将构建解压缩到Z3_DIR. 为了简化事情,有以下出口:

 export Z3_DIR=<some_path>/z3-4.8.7-x64-ubuntu-16.04
 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$Z3_DIR/bin
Run Code Online (Sandbox Code Playgroud)
  • 下载与您的 Z3 版本匹配的 Java 示例,编译并运行它:
 export Z3_DIR=<some_path>/z3-4.8.7-x64-ubuntu-16.04
 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$Z3_DIR/bin
Run Code Online (Sandbox Code Playgroud)

如果一切顺利,您应该会看到示例执行时没有错误。

  • 要将 Z3 jar 与 Maven 一起使用,请将其安装到本地 Maven 存储库中:
$ curl https://raw.githubusercontent.com/Z3Prover/z3/z3-4.8.7/examples/java/JavaExample.java > JavaExample.java
$ javac -cp $Z3_DIR/bin/com.microsoft.z3.jar JavaExample.java
$ java -cp $Z3_DIR/bin/com.microsoft.z3.jar:. JavaExample
Run Code Online (Sandbox Code Playgroud)

命名为A罐子z3-4.8.7.jar将创造<mavenrepo>/repository/com/microsoft/z3/4.8.7/。它可以作为依赖项添加到 Maven 项目中:

$ mvn install:install-file \
   -Dfile=$Z3_DIR/bin/com.microsoft.z3.jar \
   -DgroupId=com.microsoft \
   -DartifactId=z3 \
   -Dversion=4.8.7 \
   -Dpackaging=jar \
   -DgeneratePom=true
Run Code Online (Sandbox Code Playgroud)

编辑 - macOS 不幸的是,DYLD_LIBRARY_PATH在 macOS 上设置库路径 ( ) 不起作用,有关详细信息和解决方案,请参见此处:https : //github.com/Z3Prover/z3/issues/294