`

g++ 动态链接库出现诡异问题,总是链接旧的版本

 
阅读更多
g++ 动态链接库总是链接到旧的内容,除非改函数签名,make clean 也不行。经过几天的痛苦经历后发现原来是这个库之前输出了一个目标文件名到lib文件夹,后来将目标文件名改名为另一个名字并输出到bin里。而依赖这个库的另一个动态库在配置LIBS参数时,并没有删除原来lib下的旧配置,而是添加了新的库名。这样的话,那个依赖这个库的另一个库在Link的时候,总是先在lib下的旧库里找到函数入口并进行链接,就不再往后面添加的/bin下的新库里去找了,于是,只要是旧的签名,总是链接到旧库,而新的签名由于lib下的旧库里没有,就顺延到下面的bin下的新库里去找到并参与链接。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics