来自C ++ api中std :: string的cvc4 mkconst

时间:2018-01-23 22:00:50

标签: c++ cvc4

我需要将“123”更改为c ++中的const 我编码为

的内容
ExprManager em;

Rational i = Rational("123",10);

Expr expri = em.mkConst(i);

Integer i = Integer("123", 10);

Expr epri = em.mkConst(Rational(i,1));

但我收到了一些错误

  

架构x86_64的未定义符号:     “___gmpq_canonicalize”,引自:         ex1-4f9d4d.o中的__gmp_expr< __ mpq_struct [1],__ mpq_struct [1]> :: canonicalize()     “___gmpq_clear”,引自:         ex1-4f9d4d.o中的__gmp_expr< __ mpq_struct [1],__ mpq_struct [1]> ::〜__gmp_expr()     “___gmpz_clear”,引自:         ex1-4f9d4d.o中的__gmp_expr< __ mpz_struct [1],__ mpz_struct [1]> ::〜__gmp_expr()     “___gmpz_init_set”,引自:         __gmp_expr< __ mpq_struct [1],__mpq_struct [1]> :: __ gmp_expr(__ gmp_expr< __ mpz_struct [1],__mpz_struct [1]>常量&安培;, __gmp_expr< __ mpz_struct [1],__mpz_struct [1]>常量&安培)在ex1-4f9d4d.o     “___gmpz_init_set_si”,引自:         ex1-4f9d4d.o中的__gmp_expr< __ mpz_struct [1],__ mpz_struct [1]> :: init_si(long)   ld:找不到架构x86_64的符号

1 个答案:

答案 0 :(得分:0)

上述问题是由于缺乏GMP库造成的。 使用" brew install gmp"安装GMP;在Mac上。 使用" -lgmp"编译程序标志

问题解决了。