Redhat Linux - 未找到 SO 文件

Posted

技术标签:

【中文标题】Redhat Linux - 未找到 SO 文件【英文标题】:Redhat Linux - SO file not found 【发布时间】:2018-06-12 05:04:27 【问题描述】:

在 Linux 上运行我编译的 C++ 代码时遇到问题。当我使用这条线时,它在 Ubuntu 上运行良好:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../irrklang/lib/linux-gcc-64/

在运行我的程序之前。如果我不这样做,我会收到一个错误:

./main: error while loading shared libraries: libIrrKlang.so: cannot open shared object file: No such file or directory

在我使用的 Redhat 版本上,它是一台 Uni PC,它必须在这里运行。运行上面的导出命令会导致:

Bad : modifier in $ (.).

我也试过了:

ldconfig -l ../irrklang/lib/linux-gcc-64/libIrrKlang.so

但这也不起作用。我不确定还有什么方法可以让我的程序正常运行。

编辑:

我刚刚试过这个:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:"../irrklang/lib/linux-gcc-64/"

但这表示 LD_LIBRARY_PATH 未定义

【问题讨论】:

您应该能够使导出命令工作。可能是您使用的是 bourne shell。尝试使用 bash。 默认的 shell 是 tcsh。与 bash 一起使用时,导出命令确实有效。而且我还需要在 bash 中运行程序。我发现我可以在 tsch 中设置 LD_LIBRARY_PATH:setenv LD_LIBRARY_PATH "../irrklang/lib/linux-gcc-64/" 谢谢你的帮助 【参考方案1】:

user2672165 为我指明了正确的方向。 shell 是 tcsh,它要求我设置 LD_LIBRARY_PATH:

setenv LD_LIBRARY_PATH "../irrklang/lib/linux-gcc-64/"

另一种解决方法是使用 bash 作为导出命令和 ./run

【讨论】:

以上是关于Redhat Linux - 未找到 SO 文件的主要内容,如果未能解决你的问题,请参考以下文章

linux下uuid的问题

64位redhat-linux安装snmp的RPM包是总提示缺少libc.so.6()(64bit)

redhat linux 基本操作3

未找到Laravel PDO类

redhat enterprise linux 配置yum仓库

Linux下安装JDK的问题