日期:2014-05-16  浏览次数:20575 次

问一个.so的问题
用了两个so.a.so   和b.so  
makefile是这样写的
gcc   -Wall   -o   test   test.o   -L   /usr/lib   -la   -lb
如果   -la放在前面,能用a.so中的函数,调用b.so中的函数则出错
反之,   -lb放在前面,能用b.so中的函数,调用a.so中的函数则出错
怎么会出现这种情况呢?
谢谢

------解决方案--------------------
gcc -Wall -o test test.o -L /usr/lib -la -lb -la
------解决方案--------------------
有点意思,照理来说这个跟前后应该没有什么关系
唯一的可能只有是a.so和b.so里面都有相同的函数实现