编译样本z3代码时出现未定义的参考错误

时间:2019-06-04 16:31:46

标签: z3

我安装了Z3,并且能够使用make例子编译C / C ++例子。 但是,当我尝试通过包含“ z3 ++。h”并同时使用lz3链接器标志来编译任何示例代码时,会出现未定义的引用错误。

当我安装Z3并更早地编译相同的代码时,它起作用了。 我没有对Z3代码进行任何更改,但现在它引发了意外错误。

cat test.cpp

#include<z3++.h>
using namespace z3;

int main() {
    context c;
    expr x = c.int_const("x");
    std::cout << x + 1 << "\n";
    return 0;
}
  

g ++ -c test.cpp

     

g ++ -o测试test.o -lz3

     

错误:   test.o:在函数'z3 :: operator +(z3 :: expr const&,z3 :: expr const&)'中:   test.cpp :(。text._ZN2z3plERKNS_4exprES2 _ [_ ZN2z3plERKNS_4exprES2 _] + 0x203):未定义对“ Z3_mk_re_union”的引用   test.o:在函数`z3 :: concat(z3 :: expr const&,z3 :: expr const&)'中:   test.cpp :(。text._ZN2z36concatERKNS_4exprES2 _ [_ ZN2z36concatERKNS_4exprES2 _] + 0x76):未定义对“ Z3_is_seq_sort”的引用   test.cpp :(。text._ZN2z36concatERKNS_4exprES2 _ [_ ZN2z36concatERKNS_4exprES2 _] + 0xd3):未定义对“ Z3_mk_seq_concat”的引用   test.cpp :(。text._ZN2z36concatERKNS_4exprES2 _ [_ ZN2z36concatERKNS_4exprES2 _] + 0x11d):未定义对“ Z3_is_re_sort”的引用   test.cpp :(。text._ZN2z36concatERKNS_4exprES2 _ [_ ZN2z36concatERKNS_4exprES2 _] + 0x17a):未定义对“ Z3_mk_re_concat”的引用   collect2:错误:ld返回1退出状态

1 个答案:

答案 0 :(得分:0)

迟到的答案,但我认为您应该在构建命令中添加“-lz3”标志。

相关问题