z3 - 编译 Z3 测试示例会出现构建错误

标签 z3

我从 codeplex 的源代码编译了 Z3。配置详情:

  • 操作系统Debian 5.0 (Lenny)
  • GLIBC 2.7
  • 海湾合作委员会 4.4.3
  • OpenMP 4.3.4(打包版)

当我尝试构建 c 示例时,我得到:

../../lib/libz3.so: undefined reference to `std::ctype<char>::_M_widen_init() const@GLIBCXX_3.4.11'

当我尝试构建 C++ 示例时,我得到:

../../lib/libz3.so: undefined reference to `omp_init_nest_lock@OMP_3.0'
../../lib/libz3.so: undefined reference to `omp_unset_nest_lock@OMP_3.0'
../../lib/libz3.so: undefined reference to `omp_set_nest_lock@OMP_3.0'
../../lib/libz3.so: undefined reference to `omp_destroy_nest_lock@OMP_3.0'.

提到的例子是以前从 Z3 网站下载的。当我构建随源代码一起提供的 test_capi 示例时,我得到了上面错误消息的并集。

问题的本质是什么?使用Z3对系统有什么要求吗?

在另一台 Debian 6.0 机器上一切顺利。 提前致谢。

最佳答案

我假设您使用的是官方 src 版本或 master 分支。如果是这种情况,您可以尝试在 test_capi 目录中编译 test_capi 吗?

gcc -o test_capi -I ../lib test_capi.c -L ../bin/external -lz3 -lstdc++ -lgomp

在上面的命令中,我们明确告诉 gcc 链接到 C++ 标准和 OMP 库。 对于 c++ 示例,您只需要包含 -lgomp,因为默认情况下 g++ 将链接到 C++ 标准库。您可以使用 ldd 找到其他缺少的依赖项:

ldd ../bin/external/libz3.o

也就是说,我正在为 Z3 开发一个新的构建系统,您可以通过从 codeplex 获取 unstable 分支来尝试它。你能试一试吗?很高兴收到您的反馈,让构建在更多平台上顺利进行。

关于z3 - 编译 Z3 测试示例会出现构建错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13181420/

相关文章:

python - Z3py - 求解数组变量约束时生成的函数 k!0

Z3:提取存在模型值

z3 - z3 SMT 求解器中的不同数组值

c++ - Z3:创建具有动态已知项数的枚举类型

Z3 无法通过测试证明两个使用 Kleene 代数的简单程序之间的等价性,但 Mathematica 和 Reduce 能够

c++ - 如何开始使用 z3

z3 - Z3 的 Prove() 方法?

Z3 - 如何从给定的公式中提取变量?

java - 使用 Java API 的无符号整数

python - 如何一起使用 Z3py 和 Sympy