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 即可。


发布了91 篇原创文章 · 获赞 33 · 访问量 26万+
展开阅读全文

遇到蛋疼的:error LNK2001:

07-25

1>libcrypto.lib(ui_openssl.obj) : error LNK2001: 无法解析的外部符号 __acrt_iob_func 1>libcrypto.lib(eng_openssl.obj) : error LNK2001: 无法解析的外部符号 __acrt_iob_func 1>libcrypto.lib(e_capi.obj) : error LNK2001: 无法解析的外部符号 __acrt_iob_func 1>libcrypto.lib(pem_lib.obj) : error LNK2001: 无法解析的外部符号 __acrt_iob_func 1>libcrypto.lib(ui_openssl.obj) : error LNK2001: 无法解析的外部符号 __stdio_common_vfprintf 1>libcrypto.lib(eng_openssl.obj) : error LNK2001: 无法解析的外部符号 __stdio_common_vfprintf 1>libcrypto.lib(pem_lib.obj) : error LNK2001: 无法解析的外部符号 __stdio_common_vfprintf 1>libcrypto.lib(dso_win32.obj) : error LNK2001: 无法解析的外部符号 __stdio_common_vsprintf 1>libcrypto.lib(cryptlib.obj) : error LNK2001: 无法解析的外部符号 __stdio_common_vsprintf 1>libcrypto.lib(cryptlib.obj) : error LNK2001: 无法解析的外部符号 __stdio_common_vswprintf 1>libcrypto.lib(cryptlib.obj) : error LNK2001: 无法解析的外部符号 __stdio_common_vsscanf 1>libcrypto.lib(v3_utl.obj) : error LNK2001: 无法解析的外部符号 __stdio_common_vsscanf 1>libcurl.lib(gzlib.obj) : error LNK2001: 无法解析的外部符号 __imp___stdio_common_vsprintf 1>libcurl.lib(gzwrite.obj) : error LNK2001: 无法解析的外部符号 __imp___stdio_common_vsprintf 1>libcurl.lib(mprintf.obj) : error LNK2001: 无法解析的外部符号 __imp___stdio_common_vsprintf 1>libcurl.lib(cookie.obj) : error LNK2001: 无法解析的外部符号 __imp___acrt_iob_func 1>libcurl.lib(url.obj) : error LNK2001: 无法解析的外部符号 __imp___acrt_iob_func 1>libcurl.lib(mprintf.obj) : error LNK2001: 无法解析的外部符号 __imp___acrt_iob_func 1>libcurl.lib(formdata.obj) : error LNK2001: 无法解析的外部符号 __imp___acrt_iob_func 1>libcurl.lib(imap.obj) : error LNK2001: 无法解析的外部符号 __imp___stdio_common_vsscanf 1>libcurl.lib(ftp.obj) : error LNK2001: 无法解析的外部符号 __imp___stdio_common_vsscanf 1>libcurl.lib(http_proxy.obj) : error LNK2001: 无法解析的外部符号 __imp___stdio_common_vsscanf 1>libcurl.lib(http.obj) : error LNK2001: 无法解析的外部符号 __imp___stdio_common_vsscanf 1>libcurl.lib(parsedate.obj) : error LNK2001: 无法解析的外部符号 __imp___stdio_common_vsscanf 1>libcurl.lib(telnet.obj) : error LNK2001: 无法解析的外部符号 __imp___stdio_common_vsscanf 1>libcurl.lib(rtsp.obj) : error LNK2001: 无法解析的外部符号 __imp___stdio_common_vsscanf 1>libcurl.lib(cookie.obj) : error LNK2001: 无法解析的外部符号 __imp___stdio_common_vsscanf 1>libcurl.lib(hostip.obj) : error LNK2001: 无法解析的外部符号 __imp___stdio_common_vsscanf 1>libcurl.lib(url.obj) : error LNK2001: 无法解析的外部符号 __imp___stdio_common_vsscanf 1>libcurl.lib(transfer.obj) : error LNK2001: 无法解析的外部符号 __imp___stdio_common_vsscanf 在网上找到一些方法:::添加过两个库文件,。,,也设置过多线程/mtd启动,,,也添加过BUILDING_LIBCURL。。。都不好使。。。依然出现这个错误,,是怎么回事???(VS2013) 问答

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览