在Windows上构建BoringSSL时,x32构建运行良好. 但x64

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上不支持boringSSL?

链接 : fiat_p256_adx_mul.S fiat_p256_adx_sqr.S

推荐答案

是的,在编译grPC时也遇到了同样的问题(boringSSL是那里的第三方内置依赖项). 不幸的是,我没有时间调查,也许您应该将其作为一个问题报告在github上.

C++相关问答推荐

C sscanf没有捕获第二个参数

在C语言中使用scanf()时我无法理解的警告

通过管道将一个子系统的标准输出发送到另一个子系统的标准输出

如何使用低级C++写出数值

struct 上的OpenMP缩减

在C23中使用_GENERIC实现带有右值的IS_POINTER(P)?

将uintptr_t添加到指针是否对称?

如何在下面的C代码中正确管理内存?

在txt文件中找到指定的字符串,并从数字中减go 相同的值

在C中创建任意类型的只读指针参数

覆盖读取函数,但当文件描述符为3或4时,我有问题

Caesar密码调试:输出文本末尾的问号和随机字符

用C++高效解析HTTP请求的方法

如何使用WRITE()以指针地址的十六进制形式写入标准输出

浮动目标文件,数据段

在C中打印指针本身

WSASocket在哪里定义?

指向返回 struct 成员的指针,安全吗?

使用替代日历打印日期

通过修改c中的合并排序对数组的偶数索引进行排序