我编译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)
我在另一台计算机上完成它似乎工作正常.
有谁知道这是什么问题?如何解决这个问题?
我没有管理员访问这台机器.
这很简单:您的库不在默认系统路径中,导入共享库.在编译期间,编译脚本解决了这些问题.在运行时,您有LD_PRELOAD或LD_LIBRARY_PATH环境变量.
例如:an export LD_LIBRARY_PATH=/home/darkside/wunderprog/lib将扩展使用命名目录搜索库的导向器.如果有你的话libcasablanca.so,你会得到你想要的.
通常我/home/<myusername>/lib在useronly帐户中使用一个目录并LD_LIBRARY_PATH从中设置.profile.