看板 C_and_CPP 關於我們 聯絡資訊
遇到的問題: (題意請描述清楚) 小弟最近在練習如何使用 .so 我有寫了一個 foo.h 內容是 void foo(); 還有一個 foo.c 內容是 void foo() { } 使用指令 gcc -shared -fPIC -Wl,-soname,libfoo.so.1 -o libfoo.so.1.0.0 foo.c 這時候目錄下會產生一個 libfoo.so.1.0.0 接著我用指令 ln -s libfoo.so.1.0.0 libfoo.so.1 來建立一個 soft link 所有東西都放在同個目錄下 現在我寫了一個 main.c #include "foo.h" int main() { foo(); } 使用指令 gcc main.c -L. -lfoo 但是卻得到回應是 /usr/bin/ld: cannot find -lfoo collect2: ld returned 1 exit status 小弟就卡在這邊很久了 一直想不通,我已經有加了 -L 和 -l,為什麼他還是找不到 希望有經驗的大大可以指導一下 謝謝 m(_ _)m -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.250.174.228
weiyucsie:http://tinyurl.com/26xf 10/10 16:01
nowar100:謝謝樓上,我看完了,還是不知道問題在哪,可否提點一下 10/10 16:25
final01:我也不是很懂不過如果你取名為 libfoo.so就可以用了 10/10 17:13
nowar100:謝謝樓上 我發現系統中會有 libxxx.so 連向 libxxx.so.x 10/10 17:34
weiyucsie:3.5 上下那些應該可以解決問題吧? 10/10 17:56