2

我试图在 linux 机器上从 c++ 代码运行 octave .m 函数,如

这个链接

但是,当我尝试在最后一步运行代码 ./how-to-call-octave 时,我遇到了这个错误:

./how-to-call-octave: error while loading shared libraries: liboctave.so: 
cannot open shared object file: No such file or directory

我该如何纠正这个错误?

4

1 回答 1

2

许多事情都可能导致这个问题。最常见的有以下几种:

  1. 该文件确实不存在。如果您通过包管理器安装,Octave 通常分为 2 个包。确保您还安装了相应的 -dev、-devel 或 -headers 软件包。如果您自己编译 Octave,您确定在运行配置时没有禁用共享库吗?再次构建它,这次确保你设置了--enable-shared标志。

  2. 您需要更新共享库的缓存。出于安全和性能原因,Linux 会维护安装在“已批准”位置的共享库的缓存。要更新它,只需运行ldconfig(您需要 root 权限才能这样做)。

于 2012-08-22T01:38:17.367 回答