【问题标题】:gmp shared libraries not found找不到 gmp 共享库
【发布时间】:2011-08-29 04:13:57
【问题描述】:

我有一个非常简单的 C GMP 程序(下)

#include <stdio.h>
#include <gmp.h>

int main() {
    mpf_t a, b, inter;
    mpf_init(a);
    mpf_init(b);
    mpf_init(inter);
    mpf_set_d(a, 3.0);
    mpf_set_d(b, 5.0);
    mpf_add(inter, a, b);
    gmp_printf("%F+%F=%F\n", a, b, inter);
}

由于某种原因,它可以编译,但是运行时会产生

error while loading shared libraries: libgmp.so.10: cannot open shared object file: No such file or directory

怎么了?

【问题讨论】:

  • locate libgmp.so.10 产量?
  • 这个:/usr/local/lib/libgmp.so.10 /usr/local/lib/libgmp.so.10.0.2

标签: c shared-libraries gmp


【解决方案1】:

看起来/usr/local/lib 不在/etc/ld.so.conf 或/etc/ld.so.conf.d/* 中。

如果它只是简单地运行sudo ldconfig(或ldconfig 以root 身份运行),然后重试。

如果不是,要么添加它,要么手动覆盖命令的库路径:

LD_LIBRARY_PATH=/usr/local/lib ./myprogram

您的配置似乎很奇怪,请检查/usr/local/lib/libgmp.so.10 是否是指向/usr/local/lib/libgmp.so.10.0.2 的链接,例如

$ ls -ltr /usr/lib/libgmp.so.3
lrwxrwxrwx 1 root root 15 2011-07-27 12:15 /usr/lib/libgmp.so.3 -> libgmp.so.3.5.2

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-13
    • 2016-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-17
    相关资源
    最近更新 更多