让我用g ++编译一个so
共享的库,如下所示
g++ -shared -Wl,-soname,libtest.1.0 -o libtest.1.0.1 test.o
但是当我试图链接一个二进制文件与这个lib写一下:
g++ -o bin -L. -ltest -Wl,-rpath.
链接器试图search没有任何版本号的libtest.so
。
如何传递给-l
链接器选项的lib名称与版本号?
尝试这个:
g++ -o bin -L. -Wl,-rpath=. -l:libtest.1.0.1
通常情况下,在Linux上至少使用-lnamespace
, ld
会尝试找到一个名为libnamespace.so
或libnamespace.a
的文件来链接它的库搜索路径列表,但是使用-l:namespace
, ld
将搜索名为namespace
的文件在它的库搜索路径列表中。