编译 linux 共享库(so)时,可以把其他静态库编译进去吗?

自己写了个so,需要调用 openssl,我可以把openssl编译成静态库然后跟自己的so一起编译成一个文件吗?如果可以的话,需要修改openssl的Makefile吗?

还是我自己的共享库Makefile里openssl只能以共享库的方式一起链接编译?

阅读 4.8k
2 个回答

静态编译用的不是.so,而是.a。openssl支持静态编译,在编译参数开启--enable-static即可。然后你在link的时候把openssl的静态lib给一并link过来。如果你是嵌入式环境我不建议这么干,容量太大了。

可以,但没必要。为啥要把那么openssl那么大一坨东西塞到so里面吗 ?

让你的应用去单独链接openssl和so 不好吗.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题