为废弃的 openssl-1.0.2 填坑(.a转.so)
侧边栏壁纸
  • 累计撰写 170 篇文章
  • 累计收到 176 条评论

为废弃的 openssl-1.0.2 填坑(.a转.so)

若海
2020-07-05 / 0 评论 / 44,012 阅读 / 正在检测是否收录...

先吐个槽:话说php7已经大行其道,php8也开测了,某擎微平台却还运行在已经停止支持的php5上,而php5更是依赖了已废弃的openssl-1.0.x

帮小伙伴编译php5环境的时候,发现工具链已经无法很好的编译出openssl的lib库。编译出来的libcrypto.so竟然是0字节,其他文件均正常。调整各项参数,重新编译均无法解决。

最后,只好拿libcrypto.a开刀,尝试编译出正确的.so文件。

ar -x libcrypto.a
gcc -shared *.o -o libcrypto.so
rm *.o

工作原理: .so文件是动态库文件,.a是由一系列.o 文件通过ar程序打包在一起的静态库,要把它转成动态库只需先解开,生成一堆.o文件,再通过编译器(gcc 或 ifort)编成动态库即可。

0

评论 (0)

取消