我在搞乱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