我在 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 未定义
最佳答案
user2672165 为我指出了正确的方向。 shell 是 tcsh,它要求我设置 LD_LIBRARY_PATH:
setenv LD_LIBRARY_PATH "../irrklang/lib/linux-gcc-64/"
另一种解决方法是使用 bash 作为导出命令和 ./run
关于c++ - Redhat Linux - 找不到 SO 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50809558/