最近打包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刪除。