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