[英]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
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.