使用curl静态库libcurl_a.lib 时报错,内容如下:
1>libcurl_a.lib(openssl.obj) : error LNK2001: 无法解析的外部符号 __imp__CertCloseStore@8
1>libcrypto.lib(libcrypto-lib-e_capi.obj) : error LNK2001: 无法解析的外部符号 __imp__CertCloseStore@8
1>libcurl_a.lib(openssl.obj) : error LNK2001: 无法解析的外部符号 __imp__CertFreeCertificateContext@4
1>libcrypto.lib(libcrypto-lib-e_capi.obj) : error LNK2001: 无法解析的外部符号 __imp__CertFreeCertificateContext@4
1>libcurl_a.lib(openssl.obj) : error LNK2001: 无法解析的外部符号 __imp__CertGetEnhancedKeyUsage@16
1>libcurl_a.lib(openssl.obj) : error LNK2001: 无法解析的外部符号 __imp__CertGetIntendedKeyUsage@16
1>libcurl_a.lib(openssl.obj) : error LNK2001: 无法解析的外部符号 __imp__CertEnumCertificatesInStore@8
1>libcrypto.lib(libcrypto-lib-e_capi.obj) : error LNK2001: 无法解析的外部符号 __imp__CertEnumCertificatesInStore@8
1>libcurl_a.lib(openssl.obj) : error LNK2001: 无法解析的外部符号 __imp__CertOpenSystemStoreA@8
1>libcrypto.lib(libcrypto-lib-e_capi.obj) : error LNK2001: 无法解析的外部符号 __imp__CertGetCertificateContextProperty@16
1>libcrypto.lib(libcrypto-lib-e_capi.obj) : error LNK2001: 无法解析的外部符号 __imp__CertOpenStore@20
1>libcrypto.lib(libcrypto-lib-e_capi.obj) : error LNK2001: 无法解析的外部符号 __imp__CertFindCertificateInStore@24
1>libcrypto.lib(libcrypto-lib-e_capi.obj) : error LNK2001: 无法解析的外部符号 __imp__CertDuplicateCertificateContext@4
1>E:\MyProc\curl_test\Release\curl_test.exe : fatal error LNK1120: 10 个无法解析的外部命令
解决方法:
引入 crypt32.lib 库即可,例如以下引入方式
#pragma comment(lib, "crypt32.lib")