#z3
#z3
Вопрос:
Я пытаюсь использовать Max-SMT с использованием Java API. Ниже приведена моя попытка:
Optimize opt = ctx.mkOptimize();
opt.Add(hardConstraints);
for(BoolExpr c : C){
opt.AssertSoft(c, 1, "group");
}
Однако в первой строке, где создается ошибка времени выполнения opt
.
Вызвано: java.lang.Ошибка неудовлетворительной ссылки:
com.microsoft.z3.Native.INTERNALmkOptimize(J)J в
com.microsoft.z3.Native.Внутренняя оптимизация (собственный метод) в
com.microsoft.z3.Native.mkOptimize(Native.java: 5237) в
com.microsoft.z3.Optimize.(Optimize.java: 265) в
com.microsoft.z3.Context.mkOptimize(Context.java:3036)
Я использую последнюю версию Z3 с Github, загруженную 30 сентября.
Комментарии:
1. Вы скомпилировали Z3 из исходных текстов или использовали загрузку двоичного файла?
2. @ChristophWintersteiger Я скомпилировал Z3 из исходных текстов. Я использую Mac OS X
Ответ №1:
В OSX убедитесь, что защита целостности системы не мешает вашей работе. В этом параметре он может удалить параметр DYLD_LIBRARY_PATH
среды из вашей среды при запуске JVM, что приводит *.dylib
к невозможности найти эффект.
Для получения информации о Z3 см. Z3 Java API не удается обнаружить libz3.dylib . Общие сведения о SIP см. в разделе О защите целостности системы на вашем Mac. Я еще не нашел хорошего способа сообщить OSX, что Z3 «безопасен», не отключая SIP полностью.