编译Z3测试示例会导致生成错误

编译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' ../../lib/libz3.so: undefined refe

我从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'
../../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是否有任何先决条件

在另一台Debian6.0机器上,一切都进展顺利。
提前感谢。

我假设您使用的是官方src版本或主分支。如果是这种情况,您能否尝试使用
test\u capi
目录编译
test\u capi

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

在上面的命令中,我们明确地告诉了代码> GCC < /C> >与C++标准和OMP库链接。 对于C++示例,您只需要包含 > LGOMP > /CODE >,因为G+默认情况下将与C++标准库链接。您可以使用

ldd
查找其他缺少的依赖项:

ldd ../bin/external/libz3.o

这就是说,我正在为Z3开发一个新的构建系统,您可以通过从codeplex获取
unstable
分支来尝试它。你能试试吗?如果能得到您的反馈,使构建在更多平台上顺利进行,那就太好了。

谢谢,flags-lstdc++-lgomp为我工作了!发现的另一个解决方法是从LD_LIBRARY_PATH中排除/usr/lib-似乎在运行时使用的libstdc++版本与GCC 4.4.3提供的版本不同,因为该机器也安装了较旧的GCC版本。至于不稳定的分支,构建未成功。Lenny上使用的Python是2.5(请参阅),似乎需要更新的版本:[……]生成的“src/api/dotnet/Enumerations.cs”[…]文件“scripts/update_api.py”,第663行,例外情况除外,例如:SyntaxError:invalid syntaxes感谢您尝试不稳定的分支。我将尝试支持Python 2.5。