gcc link的問題

看板LinuxDev作者 (zxvc)時間18年前 (2007/03/16 09:14), 編輯推噓1(101)
留言2則, 1人參與, 最新討論串1/2 (看更多)
請問要如何下-l指令的時後,ld會自己去找libxxx.so.123來link. 比如說在寫GTK+的程式的時後,我們會下這個指令 $ gcc test.c -o test -lgtk-x11-2.0 然後用ldd查尋它的shared library相依性時會顯示: libgtk-x11-2.0.so.0 => /usr/lib/libgtk-x11-2.0.so.0 (0xb7c0d000) 換言之test其實是與libgtk-x11-2.0.so.0 link. 我有去/usr/lib搜尋libgtk-x11-2.0.so其實是一個symlink file, 連到libgtk-x11-2.0.so.0. 我自己也照著這個方法寫了個libh.so.0, libh.so symlink libh.so.0. 然後下這個指令: $ gcc test.c -o test -L. -lh 是有編譯成功,但是用ldd指令查test的時後 $ LD_LIBRARY_PATH=. ldd test 卻顯示: libh.so => ./libh.so (0xb7f4f000) 而不是我想要的: libh.so.0 => ./libh.so.0 請問為什麼link GTK的library會與link自幾寫的library有這樣不同的結果? -- Albert Einstein : If there is any religion that could cope with modern scientific needs it would be Buddhism. 《金剛經》離一切諸相,則名諸佛。 http://web.cc.ncu.edu.tw/~93501025/jg.doc -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.115.200.121

03/16 09:56, , 1F
gcc 編譯可以指定 version, name
03/16 09:56, 1F

03/16 09:57, , 2F
03/16 09:57, 2F
文章代碼(AID): #15-UzbOA (LinuxDev)
討論串 (同標題文章)
以下文章回應了本文
1
1
完整討論串 (本文為第 1 之 2 篇):
1
2
18年前, 03/16
1
1
文章代碼(AID): #15-UzbOA (LinuxDev)