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