5

我的问题很简单......我如何检查我机器上安装的 GMP 版本?MPFR 怎么样?那么CamlIDL呢?

非常感谢

4

2 回答 2

4

要检查 GMP(MPIR) 版本,请访问名为 libgmp.so.XYZ(libmpir.so.XYZ) 的动态库中的字符串 __gmp_version(__mpir_version)。您的标准库目录可能包含多个这样的文件(如果您安装了较新版本的 GMP 或 MPIR,但您的包管理器选择保留旧版本,因为它仍然需要它,就会发生这种情况)。

从benchmark_det_Dixon.py中截取一小段 Python 代码:

import ctypes
so_name='/usr/lib/libgmp.so' # or /usr/lib64/libgmp.so, etc
var_name='__gmp_version'
L=ctypes.cdll.LoadLibrary(so_name)
v=ctypes.c_char_p.in_dll(L,var_name)
print(v.value)

上面的代码只适用于 Linux/Unix;应该可以将其移植到 ctypes Python 包支持的其他操作系统。

要获取 MPFR 版本,请调用 mpfr_get_version():

M=ctypes.cdll.LoadLibrary('/usr/lib/libmpfr.so') # or /usr/lib64, etc
M.mpfr_get_version.restype=ctypes.c_char_p
print(M.mpfr_get_version())
于 2014-04-10T07:44:05.213 回答
0

执行此操作的标准 Autoconf 方法是选择所需的最低版本 X 而不是版本 X-1 中的一些库函数,然后查看是否可以成功编译调用该函数的小程序。它不像查询某个 oracle 以获取版本字符串那样优雅,但它具有证明构建环境实际上是正确的优势。

于 2011-09-19T21:56:00.997 回答