我写了一个共享的libA.so。 我的程序P将dynamic加载libA.so (使用dlopen,dlsym …)。
这是我的问题:
在libA.so中 ,我必须在静态libB.a中使用函数(例如fun1() ),但是libB.a不用-fPIC编译,而且我也不能重新编译libB.a ,所以我不能将libB.a链接到libA.so。
我已经尝试链接libB.a到P (与-Wl , – 整个档案),为了让dynamic加载器链接fun1()到libA.so加载时。 但是,这是行不通的。 我很确定fun1()是在P (我检查它: nm P | grep "fun1" )。
在Linux中与特定的共享库版本链接
如果链接器错误“undefined reference”,如何find符号的调用例程?
在Eclipse / CDT / gcc中使用用Visual Studio构build的.lib
我能怎么做?
提前致谢!
gcc -Wl选项:不能通过昏迷
什么导致这个链接失败(未定义的参考)?
ld联动问题:/ usr / bin / ld:找不到
环境覆盖Linux链接器/加载器
如果要将libB.a链接到P ,以便函数在由P载入时可用于libA.so ,则需要使用-rdynamic选项编译P
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。