当前位置: 技术问答>linux和unix
如何将动态可执行文件打包为静态
来源: 互联网 发布时间:2016-07-16
本文导语: 一个可执行文件,用ldd看,需要一些动态库 有什么办法可以把它编译在一起,下次可以直接放到没有库的机器上用了 (我没有源代码,但那些库都有) | 编译的链接过程,可以是静态链接,也可以是...
一个可执行文件,用ldd看,需要一些动态库
有什么办法可以把它编译在一起,下次可以直接放到没有库的机器上用了
(我没有源代码,但那些库都有)
有什么办法可以把它编译在一起,下次可以直接放到没有库的机器上用了
(我没有源代码,但那些库都有)
|
编译的链接过程,可以是静态链接,也可以是动态链接。
若是静态链接,那么把lib里的函数直接嵌入到可执行文件里。
若是动态链接,如是在可执行文件里指出调用函数的或者变量的地址,在执行里,要把动态库*.so文件加载到内存。
所以只有重新编译,把SO库的源文件编译成lib。
|
还是需要重新编译吧。