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

the*_*oon 5 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
Run Code Online (Sandbox Code Playgroud)

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

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

我没有管理员访问这台机器.

pet*_*ica 5

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

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

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