虽然 BoringSSL 在 Windows 上运行,但 x32 构建工作得很好。 但是 x64(将
-m64
添加到 cmake 中的 c 和 cxx 标志)我收到链接错误,缺少两个符号:fiat_p256_adx_sqr
和 fiat_p256_adx_mul
。
ld.lld: error: undefined symbol: fiat_p256_adx_sqr
>>> libcrypto.a(bcm.c.obj):(fiat_p256_square)
ld.lld: error: undefined symbol: fiat_p256_adx_mul
>>> libcrypto.a(bcm.c.obj):(fiat_p256_mul)
我通读了代码,发现了这个:
#if !defined(OPENSSL_NO_ASM) && defined(OPENSSL_X86_64) && defined(__APPLE__) || defined(__ELF__))
...
#endif
两个缺失的符号均在
__APPLE__
或 __ELF__
检查中定义
这意味着它们不会针对 Windows 进行编译(或汇编,因为它是 .S 文件)。我是否遗漏了一些东西,或者在没有 -DOPENSSL_NO_ASM
的情况下,Windows 不支持 SSL?
操,谷歌的人需要看看。