0

我能够在 Ubuntu 上编译 BoringSSL 并创建 libssl.a 和 libcrypto.a。在 Makefile 中,我更改-L了指向这些库位置并-lssl -lcrypto指定库名称的路径。但是,我的机器已经安装了 OpenSSL,所以在这种情况下,看起来 OpenSSL 库一如既往地被拾取,因为这些库具有完全相同的名称。

除了完全删除或禁用 OpenSSL 并尝试之外,是否还有其他方法可以强制操作系统使用 BoringSSL?

4

2 回答 2

1

如果您-L指向构建 BoringSSL 的目录,它将始终使用 BoringSSL 而不是系统 SSL(除非链接器仅搜索共享库,正如 John Bollinger 指出的那样)。

您还需要传递-pthread给编译器,因为它不能像使用共享库那样使用静态库隐式拉入 POSIX 线程库。

于 2020-01-17T22:01:13.560 回答
0

请确保共享库的库路径不在链接器的搜索路径中,然后将使用 -L 搜索路径并选择静态库。

或者尝试在 -L 之后添加 -Bstatic 标志以通知链接器仅使用静态库。

于 2021-02-10T07:56:21.817 回答