为什么LD_LIBRARY_PATH无效
Why LD_LIBRARY_PATH is not effective?
我正在尝试编译libpng
,它需要libz
。我已经在家里安装了我的所有者libz.so.1
,并设置了LD_LIBRARY_PATH
。但没有得到任何结果,因为ldd
的输出显示它仍然使用/usr/local/lib/libz.so.1
。
然后make的输出显示为"-L/home/zlib-lz"。为什么?
您可能需要从/home/mylibs/libz.so
到/home/mylibs/libz.so.1
的符号链接。
注意,-lz
将搜索libz.so
,但不会搜索libz.so.1
,因此链接器将继续搜索,并将在/usr/local/lib
中找到这样的链接。
除此之外,您还想在可执行文件的头中显示NEEDED条目(记录动态依赖关系),其中包括:
$ objdump -x a.out | grep NEEDED
以查看它们是否以完整路径记录为libz.so
或libz.so.1
。
相关文章:
- Openssl 1.1.1d无效使用不完整的类型"struct dsa_st"
- 无法访问嵌套类.类的使用无效
- 如果用户输入无效,如何使用字符串变量-C++重复输入命令
- 如何解决错误:SCIP C++中的 SCIP 阶段无效 <10>
- 在 Windows 上,是否可以让 dll 在不使用 PATH 环境变量的情况下在另一个文件夹中查找依赖项?
- 在没有参数列表的情况下使用模板名称"Event"无效,模板问题
- FFMPEG配置文件级别id大小无效
- 错误:从"int"到枚举c++的转换无效
- 如何修复此错误:className::className的无效使用
- 为什么将值返回函数传递给重载=运算符对运算符函数有效,而对其他运算符无效
- C++-模板嵌套类的引用初始化无效
- 错误:无效的预处理指令 #i 的意思是 #if?
- 多维数组 C++ 中数组下标的类型"int[int]"无效
- 在 C++ 中使用正则表达式错误时出现问题 括号表达式中的范围无效
- 从 'int' 到 'int*' CPP 的转换无效
- 如何接受 [ENTER] 键作为无效输入并发送错误消息
- 由于无效的 ValidateRgn() 子窗口不会收到WM_PAINT消息
- C++ PTHREADS - 无效转换无效*(*)()到无效*(*)(无效*)
- 声明为无效的变量或字段'...' Ardunio 编译器上的错误
- 设置PATH变量无效