tek*_*agi 6 c shared-libraries gmp
我在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);
}
Run Code Online (Sandbox Code Playgroud)
由于某种原因,它编译正常,但在运行时,它会产生
error while loading shared libraries: libgmp.so.10: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)
怎么了?
Ste*_*e-o 10
它似乎/usr/local/lib不在/etc/ld.so.conf或/etc/ld.so.conf.d/*.
如果它只是运行sudo ldconfig(或ldconfig以root身份)并再试一次.
如果不是,请添加它或手动覆盖命令的库路径:
LD_LIBRARY_PATH=/usr/local/lib ./myprogram
Run Code Online (Sandbox Code Playgroud)
看起来您的配置确实很奇怪,请检查是否/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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15842 次 |
| 最近记录: |