最近打包SDK, 需要把多个*.so文件合并。
通过google发现,*.so文件不能直接合并,因为其中已经没有重定向信息。但多个静态库文件是可以合并成一个动态库文件的。
解决办法:
先把所有要打包的库编译生成静态库,然后使用如下命令把它们合并成一个*.so:
gcc -shared -o c.so -Wl,--whole-archive a.a b.a -Wl,--no-whole-archive
最近打包SDK, 需要把多个*.so文件合并。
通过google发现,*.so文件不能直接合并,因为其中已经没有重定向信息。但多个静态库文件是可以合并成一个动态库文件的。
解决办法:
先把所有要打包的库编译生成静态库,然后使用如下命令把它们合并成一个*.so:
gcc -shared -o c.so -Wl,--whole-archive a.a b.a -Wl,--no-whole-archive
本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。