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