簡體   English   中英

為什么鏈接程序在Linux中用於編譯的路徑中搜索庫

[英]Why linker searches for a library in the path used for compiling in linux

我正在使用選項“ -L / my / path / -lxxx.so”構建共享庫

現在我正在使用dlopen將此庫動態鏈接到我的應用程序

pvHandle = dlopen (pszLibName, RTLD_LAZY | RTLD_GLOBAL);

但是,當我執行它時,它顯示一條錯誤消息/my/path/libxxx.so:無法打開共享對象文件:沒有這樣的文件或目錄

libxxx.so在/ usr / local / lib中可用,我將此路徑附加到LD_LIBRARY_PATH

知道我在做什么錯嗎? 提前致謝

運行ldconfig命令。 另請參見ldconfig命令的手冊頁,以獲取有關它的想法。

您需要將路徑添加到文件/etc/ld.so.conf

要么

給出像

dlopen("/some/path/to/lib.so",  RTLD_LAZY | RTLD_GLOBAL);

暫無
暫無

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM