Linux:可执行文件找不到共享库

时间:2014-05-12 12:41:56

标签: linux gcc

我已编译casablanca并已将-l:/~/path/to/lib/libcasablanca.so放入CMakeList.txt。我已经构建了我的应用程序而且没有错误。但是,当我运行可执行文件时,它说:

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

我在另一台计算机上完成了它,它似乎工作正常。

有谁知道这是什么问题?如何解决这个问题?

我没有管理员访问此计算机。

1 个答案:

答案 0 :(得分:5)

这非常简单:您的库不在默认系统路径中,导入共享库。在编译期间,编译脚本解决了这些问题。在运行时,您拥有LD_PRELOADLD_LIBRARY_PATH环境变量。

例如:export LD_LIBRARY_PATH=/home/darkside/wunderprog/lib将使用命名目录扩展搜索库的导向器。如果有libcasablanca.so,您将得到您想要的内容。

通常我在useronly帐户中使用/home/<myusername>/lib目录,并从LD_LIBRARY_PATH设置.profile