[英]LD_LIBRARY_PATH not working
我的二進制文件之一需要libfoo.so
(位於/dir/libfoo
),我無法通過設置環境變量來弄清楚如何與其鏈接。 我嘗試了以下兩種解決方案:
export LD_FLAG='-L/dir/libfoo/'
export LD_LIBRARY_PATH='-L/dir/libfoo/'
但是當我運行ldd ./mybin
我看到libfoo.so.0 => not found
的其他庫中找不到。
但是,當我使用此/lib/ld-linux.so.2 --library-path /dir/libfoo ./mybin
時,我可以成功鏈接: /lib/ld-linux.so.2 --library-path /dir/libfoo ./mybin
我正在運行Ubuntu 13.10服務器x86
我在這里做錯了什么?
-L
是gcc標志,並且gcc不參與此過程。 做就是了
export LD_LIBRARY_PATH='/dir/libfoo/'
您已將-L標志傳遞給LD_LIBRARY_PATH,這是錯誤的,請從LD_LIBRARY_PATH中刪除-L
export LD_LIBRARY_PATH=/dir/libfoo/
另請參閱http://man7.org/linux/man-pages/man8/ld.so.8.html以獲得鏈接器/加載器規范
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.