[英]Why does this template class in a library generate linker errors when used?
[英]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.