Я скачал z3 для версии для Linux и пытался заставить его работать под Linux, но он не компилировался (я компилировал код примера с помощью gcc). Я получил список неопределенных ссылок от компилятора gcc. Я полагаю, что указал расположение файла lib при компиляции кода. Может ли кто-нибудь дать, какие библиотеки мне нужны, чтобы правильно скомпилировать.
как скомпилировать пример кода из Z3 под linux
Ответы (2)
Z3 для Linux скомпилирован с использованием
gcc (Ubuntu/Linaro 4.6.1-9ubuntu3) 4.6.1
Вы можете получить ошибки связывания, если используете несовместимую версию gcc.
Удалось ли вам скомпилировать пример C, поставляемый с Z3? Он находится по адресу: z3/examples/c
Чтобы скомпилировать его, вы должны выполнить
./build.sh
Если это не работает, возможно, вы используете несовместимую версию GCC.
person
Leonardo de Moura
schedule
18.04.2012
Да, я выполнил build.sh, но мой компилятор gcc выдает пропуск несовместимости... и не смог найти -lz3-gmp. Я проверил свою версию gcc (gcc Ubuntu/Linaro 4.6.1-9ubuntu3).
- person user1197891; 18.04.2012
мой gcc - x64, поэтому я скачал z3 для версии x64, но при выполнении build.sh я получаю список неопределенных ссылок.
- person user1197891; 18.04.2012
Я понимаю. Не могли бы вы попробовать скомпилировать, используя:
- person Leonardo de Moura; 19.04.2012
Я переписал build.sh gcc -fopenmp -I../../include -L../../lib test_capi.c -lz3 -lgmp -o test_capi и он компилируется. Но gcc нуждается в libgmp.so.3, а у меня в системе установлен libgmp.so.10. поэтому скомпилированный код не смог загрузить библиотеку.
- person user1197891; 19.04.2012
Хорошая новость заключается в том, что Z3 4.0 больше не зависит от gmp. Так что в следующей версии проблемы не будет.
- person Leonardo de Moura; 19.04.2012
В xubuntu 11.10 (та же версия gcc) я переместил -lz3-gmp
в конец после test_capi.c
. Это не первый раз, когда меня выкидывает gcc, потому что -l
не было в конце.
gcc -fopemmp -o test_capi -I ../../include -L ../../lib test_capi.c -lz3-gmp
И это работает нормально.
person
Lelouch Lamperouge
schedule
24.04.2012