我搞亂了Linux的共享庫並遇到奇怪的問題。我成功地創建了一個共享庫並獲得librbmp.so.0
文件,然後將它鏈接到另外兩個文件:librbmp.so
和librbmp.so.0.0.1
。然後我將他們複製到/usr/local/lib
並運行ldconfig
,在這裏我遇到了一個奇怪的行爲 - 另外一個文件出現在/usr/local/lib
。它被稱爲--library=ibrbmp.so.0.0.1
。奇怪的是,我的應用程序在運行時鏈接到它。符號鏈接奇怪問題
任何人都知道發生了什麼事以及如何強制我的應用鏈接到librbmp.so
?
這裏有一段代碼:
//creating shared library
$(CC) -shared -Wl,-soname,-librbmp.so.0.0.1 $(OBJECTS) -o librbmp.so.0 -lc
//symlinking
ln -sf librbmp.so.0.0.1 librbmp.so.0
ln -sf librbmp.so.0.0.1 librbmp.so
用來創建.so的鏈接命令行是什麼? – 2012-07-20 20:50:47
@ MichaelKrelin-hacker添加了您要求的代碼 – Robin92 2012-07-20 20:56:07