c – 使用OpenSSL构建LibCurl会导致链接器错误

我一直在尝试使用SSL支持构建LibCurl 2天,我已经跟踪了互联网上的每个指南,并且谷歌的错误持续了几个小时.我终于把它编译好了,但是当我链接到它时,我收到下面列出的链接错误.

我正在建设……

nmake -f Makefile.vc9 OPENSSL_PATH=c:\dev_mms\openSSL RTLIBCFG=static CFG=release-ssl

以下错误,当我谷歌他们说了一些关于OpenSSL库没有正确链接,但我看了Makefile.vc9,它肯定包括适当的OpenSSL库.以下是链接错误(我删除了大约50个只是为了缩短它),我该怎么办才能解决这些错误

1>libcurl.lib(ssluse.obj) : error LNK2019: unresolved external symbol _RAND_status referenced in function _rand_enough
1>libcurl.lib(ssluse.obj) : error LNK2019: unresolved external symbol _RAND_file_name referenced in function _ossl_seed
1>libcurl.lib(ssluse.obj) : error LNK2019: unresolved external symbol _RAND_load_file referenced in function _ossl_seed
1>libcurl.lib(ssluse.obj) : error LNK2019: unresolved external symbol _SSL_CTX_check_private_key referenced in function _cert_stuff
1>libcurl.lib(ssluse.obj) : error LNK2019: unresolved external symbol _SSL_free referenced in function _cert_stuff
1>libcurl.lib(ssluse.obj) : error LNK2019: unresolved external symbol _BN_num_bits referenced in function _get_cert_chain
1>libcurl.lib(ssluse.obj) : error LNK2019: unresolved external symbol _X509_get_serialNumber referenced in function _get_cert_chain
1>libcurl.lib(ssluse.obj) : error LNK2019: unresolved external symbol _ASN1_INTEGER_get referenced in function _get_cert_chain
1>libcurl.lib(ssluse.obj) : error LNK2019: unresolved external symbol _X509_get_issuer_name referenced in function _get_cert_chain
1>libcurl.lib(ssluse.obj) : error LNK2019: unresolved external symbol _SSL_get_peer_cert_chain referenced in function _get_cert_chain
1>libcurl.lib(ssluse.obj) : error LNK2019: unresolved external symbol _X509_verify_cert_error_string referenced in function _servercert
1>libcurl.lib(ssluse.obj) : error LNK2019: unresolved external symbol _SSL_get_verify_result referenced in function _servercert
1>libcurl.lib(ssluse.obj) : error LNK2019: unresolved external symbol _X509_check_issued referenced in function _servercert
1>libcurl.lib(ssluse.obj) : error LNK2019: unresolved external symbol _PEM_read_X509 referenced in function _servercert
1>libcurl.lib(ssluse.obj) : error LNK2019: unresolved external symbol _X509_free referenced in function _servercert
1>libcurl.lib(ssluse.obj) : error LNK2019: unresolved external symbol _SSL_get_peer_certificate referenced in function _servercert
1>libcurl.lib(ssluse.obj) : error LNK2019: unresolved external symbol _SSL_get1_session referenced in function _ossl_connect_step3
1>libcurl.lib(ssluse.obj) : error LNK2019: unresolved external symbol _SSL_pending referenced in function _Curl_ossl_data_pending
1>libcurl.lib(ssluse.obj) : error LNK2019: unresolved external symbol _SSL_write referenced in function _ossl_send
1>libcurl.lib(ssluse.obj) : error LNK2019: unresolved external symbol _SSLeay referenced in function _Curl_ossl_version
1>libcurl.lib(http_ntlm.obj) : error LNK2019: unresolved external symbol _DES_set_key referenced in function _setup_des_key
1>libcurl.lib(http_ntlm.obj) : error LNK2019: unresolved external symbol _DES_set_odd_parity referenced in function _setup_des_key
1>libcurl.lib(http_ntlm.obj) : error LNK2019: unresolved external symbol _DES_ecb_encrypt referenced in function _lm_resp
1>libcurl.lib(http_ntlm.obj) : error LNK2019: unresolved external symbol _MD4_Final referenced in function _mk_nt_hash
1>libcurl.lib(http_ntlm.obj) : error LNK2019: unresolved external symbol _MD4_Update referenced in function _mk_nt_hash
1>libcurl.lib(http_ntlm.obj) : error LNK2019: unresolved external symbol _MD4_Init referenced in function _mk_nt_hash
1>libcurl.lib(http_ntlm.obj) : error LNK2019: unresolved external symbol _MD5_Final referenced in function _Curl_output_ntlm
1>libcurl.lib(md5.obj) : error LNK2001: unresolved external symbol _MD5_Final
1>libcurl.lib(http_ntlm.obj) : error LNK2019: unresolved external symbol _MD5_Update referenced in function _Curl_output_ntlm
1>libcurl.lib(md5.obj) : error LNK2001: unresolved external symbol _MD5_Update
1>libcurl.lib(http_ntlm.obj) : error LNK2019: unresolved external symbol _MD5_Init referenced in function _Curl_output_ntlm
1>libcurl.lib(md5.obj) : error LNK2001: unresolved external symbol _MD5_Init
1>libcurl.lib(http_ntlm.obj) : error LNK2019: unresolved external symbol _RAND_bytes referenced in function _Curl_output_ntlm

解决方法

你需要添加
libeay32.lib ssleay32.lib

到项目配置中的其他依赖项.

相关文章

本程序的编译和运行环境如下(如果有运行方面的问题欢迎在评...
水了一学期的院选修,万万没想到期末考试还有比较硬核的编程...
补充一下,先前文章末尾给出的下载链接的完整代码含有部分C&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...