原文: https://blog.youkuaiyun.com/lunarych/article/details/107835522
网上找了很多mac的解决方案都是要设置DYLD_LIBRARY_PATH或者java.library.path,但是都没用,在GitHub上找到的答案:
原因:https://github.com/Z3Prover/z3/issues/294
Java是受SIP保护的可执行文件,它会忽略用户设置 DYLD_LIBRARY_PATH
Proof by running: /bin/ls -lO $(which java)
libz3.dylib 不在操作系统OS X的标准位置之一 : not in ~/lib, /usr/local/lib, /usr/lib
所以快速解决方案是移动或链接 libz3.dylib 到 ~/lib.
put JNI dynamic link libraries in: /Library/Java/Extensions
e.g.libz3java.dylib
put none-JNI dynamic link libraries in: /usr/local/lib
e.g. libz3.dylib
即:将libz3java.dylib放到 /Library/Java/Extensions中,libz3.dylib放到/usr/local/lib中
https://github.com/Z3Prover/z3/issues/4979
Hi,
I’m using z3 java bindings in a project (https://github.com/uclid-org/uclid) on Big Su