VC2010使用openssl-1.1.0f静态库时链接报错

编译报错内容:

1>libcrypto.lib(e_capi.obj) : error LNK2001: 无法解析的外部符号 __imp__CertFreeCertificateContext@4
1>libcrypto.lib(e_capi.obj) : error LNK2001: 无法解析的外部符号 __imp__CertGetCertificateContextProperty@16
1>libcrypto.lib(e_capi.obj) : error LNK2001: 无法解析的外部符号 __imp__CertOpenStore@20
1>libcrypto.lib(e_capi.obj) : error LNK2001: 无法解析的外部符号 __imp__CertFindCertificateInStore@24
1>libcrypto.lib(e_capi.obj) : error LNK2001: 无法解析的外部符号 __imp__CertEnumCertificatesInStore@8
1>libcrypto.lib(e_capi.obj) : error LNK2001: 无法解析的外部符号 __imp__CertCloseStore@8
1>libcrypto.lib(e_capi.obj) : error LNK2001: 无法解析的外部符号 __imp__CertDuplicateCertificateContext@4
1>D:\code\opensslbaseapp\Release\PosCipherTest.exe : fatal error LNK1120: 7 个无法解析的外部命令
1>

这个错误是因为openssl库使用了windows的一个密码学库: Crypt32


只要在 项目属性 - 链接器 - 输入 - 附加依赖项 中加入: Crypt32.lib 即可。


你可能感兴趣的:(密码学,VC)