【FAQ】全志XR806芯片 如何解决第三方静态库函数符号重复?
-
1.问题背景
联合开发中,由于软件保密,合作方仅提供.a静态库。但可能出现合作方提供的.a静态库和自身的.a静态库冲突,导致镜像合成失败,且可能因为合作方的各种缘故不方便修改静态库。2.问题描述
程序编译过程中没有出错,但是在ld链接过程中提示错误:multiple definition of。3.问题分析
1 对于在程序中可以修改的重复定义,直接修改程序即可。
2 multiple definition of的函数都在保密的.a库文件中,重复函数众多,且无法轻易更改程序。由于.a静态文件是由.o可执行文件打包而来,可以先对.a静态库解包,删除掉重复定义的.o可执行文件后重新打包即可。4.解决方法
1 拆包.a静态库。ar -x libtarget.a
2 删除多余的.o文件。
3 重新打包静态库。ar crv libtarget.a *.o
4 重新编译。
-
-
-
-
-
-
Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号