簡體   English   中英

將共享庫添加到makefile

[英]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.

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