[英]Add shared library to makefile
我想鏈接一個共享庫libfoo.so
,它的相對路徑是../path/to/lib
下面是編譯命令:
g++ -o /executable/path test.o -L../path/to/lib -lfoo
給
/usr/bin/ld: can not find -lfoo
collect2: error: ld returned 1 exit status
並且此命令給出了不同的錯誤消息
g++ -o /executable/path test.o -L../path/to/lib/libfoo.so
給
undefined reference to 'functions and class members in libfoo.so'
似乎編譯都不正確,我錯過了什么嗎?
似乎該庫未正確安裝。 我不知道哪個區。 您在使用但是這些步驟應該可以解決問題。
運行此命令以查看您的庫在哪里。
find / -name 'libfoo.so.*'
將此添加到/etc/ld.so.conf。 它包含搜索庫的默認目錄。
include /usr/local/lib
include /usr
要安裝或更新,請運行此命令。
ldconfig
祝好運...
Edit1:嘗試運行LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib lfoo
Edit2:運行此命令,但僅設置一次。
export LD_LIBRARY_PATH=/usr/local/lib/
順便說一句,您需要在每次更新庫時運行ldconfig。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.