解决方法 --exclude-libs 在 OS X 的 clang 上不可用

ben*_*ist 5 macos g++ clang ld clang++

我需要创建一个需要使用不同版本的 OpenSSL (BoringSSL) 的包装器库,原因请参阅“包装器共享对象”[1]。

问题是 --exclude-libs 不适用于 OS X 的 clang,因此符号被导出,这是我必须避免的。

我必须采取哪些选项来解决此问题,例如在构建库后剥离符号?

[1] https://wiki.openssl.org/index.php/Android

Mic*_*ino -1

我还在我的项目中使用了不同版本的 OpenSSL。我在静态库中构建和链接,没有引用已安装的 dylib。这完全独立于计算机上可能存在的任何其他 OpenSSL 实现。这个策略对你有用吗?我想我想知道为什么你必须将静态库包装在动态库中?为什么不直接将静态库链接到将使用它的可执行文件中呢?