![加载共享库时出错:libcppunit-1.13.so.0:无法打开共享对象文件:没有这样的文件或目录](https://linux22.com/image/8320/%E5%8A%A0%E8%BD%BD%E5%85%B1%E4%BA%AB%E5%BA%93%E6%97%B6%E5%87%BA%E9%94%99%EF%BC%9Alibcppunit-1.13.so.0%EF%BC%9A%E6%97%A0%E6%B3%95%E6%89%93%E5%BC%80%E5%85%B1%E4%BA%AB%E5%AF%B9%E8%B1%A1%E6%96%87%E4%BB%B6%EF%BC%9A%E6%B2%A1%E6%9C%89%E8%BF%99%E6%A0%B7%E7%9A%84%E6%96%87%E4%BB%B6%E6%88%96%E7%9B%AE%E5%BD%95.png)
我已经完成了我认为需要的一切,但无法正确安装这个库。
ldconfig -p | ldconfig -p | grep libcppunit
不断返回空字符串。
要安装它,我已经运行(没有 root 访问权限):
./configure --prefix=some/home/文件夹
制作
进行安装
即使包含 LDFLAGS 和 CFLAGS 并且所有文件都正确放入安装文件夹中。另外,环境变量设置为此安装文件夹(LD_LIBRARY_PATH、LIBRARY_PATH 为 lib;CPATH 为 include;路径为 bin),但它不起作用。当尝试通过编译另一个程序来访问该库时,它会返回标题中所述的错误。另一方面,我对另一个库(popt)做了完全相同的事情,它运行良好并且被 ldconfig -p | 识别。 grep libpopt!!
有谁知道我做错了什么或者我可以尝试什么来解决它?
跑步时
ld -lcppunit -ldl -L/some/home/文件夹
它告诉我它可以找到库文件,但也返回找不到符号 _start 并且没有设置起点。
运行红帽企业 Linux 6.5
答案1
您的问题没有指定您是否正在导出变量,因此我假设您尚未导出它们。
像平常一样设置变量,但在运行您需要运行的命令之前,导出每个变量。
export LD_LIBRARY_PATH
export CFLAGS
通过这种方式,您可以使该变量可用于该特定会话中运行的所有内容。