linux下静态编译openssl,静态编译openssl二进制文件

配置和生成的openssl二进制文件从源代码构建时,make命令会动态链接到这些库:linux-vdso.so.1 => (0x00007fffa75fe000)

libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007ff7f79ab000)

libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007ff7f75e2000)

/lib64/ld-linux-x86-64.so.2 (0x00007ff7f7bd2000)

我的猜测是,如果我可以静态链接到lib gcc,其他共享库的依赖关系也会消失.

问题是如何让Configure脚本生成静态链接的二进制文件?

在Windows上构建过程是否也一样?

最佳答案 我在搜索同样的事情时遇到过这篇文章.我不知道使用configure脚本执行此操作的正确语法,但这就是我实现它的方法.cd /tmp

wget http://www.openssl.org/source/openssl-1.0.1e.tar.gz

tar -zxvf openssl-1.0.1e.tar.gz

cd openssl-1.0.1e

./config

然后我将“-static -static-libgcc”添加到openssl-1.0.1e / Makefile的CFLAG行中(注意这是我运行./config之后).然后我像平常一样建造它.make INSTALL_PREFIX=/tmp/package-root install

它现在是静态编译的$ldd /tmp/package-root/usr/local/ssl/bin/openssl

not a dynamic executable

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值