使用OpenSSL AES加密。库连接良好,rsa命令运行良好。 当我使用来自libcrypto.a的AES无法到达方法时(但当我在代码中使用RSA方法时,aes运行良好。没有RSA - >没有AES)
错误是: 架构x86_64的未定义符号: “_OPENSSL_ia32cap_P”,引自: libcrypto.a中的_AES_cbc_encrypt(aes-x86_64.o) ld:找不到架构x86_64的符号 clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)
PS。 This主题无效
答案 0 :(得分:1)
我遇到了相同的链接器错误,并且我也尝试添加this post上提到的行extern int OPENSSL_cleanse(void *ptr, size_t len);
,但没有成功。
最终对我有用的是在您的代码文件中的任何位置添加以下行:
uint32_t OPENSSL_ia32cap_P[4] = { 0 };
我还使用以下链接作为参考:https://boringssl.googlesource.com/boringssl/+/517073cd4b/crypto/cpu-intel.c#76