AES解码中的OpenSSL库链接器命令失败:(“_ OPENSSL_ia32cap_P”)

时间:2017-02-24 13:28:36

标签: openssl aes

使用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主题无效

1 个答案:

答案 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