简体   繁体   English

boost :: asio ssl链接错误

[英]boost::asio ssl linking error

I'm using boost version 1.47, visual studio 2010, I downloaded the binaries for windows and linked to the include directory and lib directory from my project preferences. 我正在使用boost版本1.47,visual studio 2010,我下载了Windows的二进制文件,并从我的项目首选项链接到include目录和lib目录。 But I still can't use any ssl functionality from boost::asio. 但我仍然无法使用boost :: asio中的任何ssl功能。

This is the site where I downloaded the binaries: http://www.slproweb.com/products/Win32OpenSSL.html 这是我下载二进制文件的网站: http//www.slproweb.com/products/Win32OpenSSL.html

I Downloaded: Visual C++ 2008 Redistributables and Win32 OpenSSL v1.0.1 我下载:Visual C ++ 2008 Redistributables和Win32 OpenSSL v1.0.1

These are the error messages I get: 这些是我得到的错误消息:

Error   1   error LNK2019: unresolved external symbol _ERR_reason_error_string referenced in function "public: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall boost::asio::error::detail::ssl_category::message(int)const " (?message@ssl_category@detail@error@asio@boost@@UBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z) C:\Documents and Settings\Elias\my documents\visual studio 2010\Projects\OmniTcp\OmniTcp\main.obj   OmniTcp

Error   2   error LNK2001: unresolved external symbol _ERR_reason_error_string  C:\Documents and Settings\Elias\my documents\visual studio 2010\Projects\OmniTcp\OmniTcp\OmniTcp.obj    OmniTcp

Error   3   error LNK2019: unresolved external symbol _CRYPTO_set_id_callback referenced in function "public: __thiscall boost::asio::ssl::detail::openssl_init_base::do_init::do_init(void)" (??0do_init@openssl_init_base@detail@ssl@asio@boost@@QAE@XZ)  C:\Documents and Settings\Elias\my documents\visual studio 2010\Projects\OmniTcp\OmniTcp\main.obj   OmniTcp

Error   4   error LNK2001: unresolved external symbol _CRYPTO_set_id_callback   C:\Documents and Settings\Elias\my documents\visual studio 2010\Projects\OmniTcp\OmniTcp\OmniTcp.obj    OmniTcp

Error   5   error LNK2019: unresolved external symbol _CRYPTO_set_locking_callback referenced in function "public: __thiscall boost::asio::ssl::detail::openssl_init_base::do_init::do_init(void)" (??0do_init@openssl_init_base@detail@ssl@asio@boost@@QAE@XZ) C:\Documents and Settings\Elias\my documents\visual studio 2010\Projects\OmniTcp\OmniTcp\main.obj   OmniTcp

Error   6   error LNK2001: unresolved external symbol _CRYPTO_set_locking_callback  C:\Documents and Settings\Elias\my documents\visual studio 2010\Projects\OmniTcp\OmniTcp\OmniTcp.obj    OmniTcp

Error   25  error LNK1120: 12 unresolved externals  C:\Documents and Settings\Elias\my documents\visual studio 2010\Projects\OmniTcp\Debug\OmniTcp.exe  OmniTcp

I get a few more error messages but hey are all similar to eachother. 我收到了一些错误消息,但是他们都是相似的。

As mentioned in the comments to the question, my project linked once I added: 正如对问题的评论中所提到的,我添加的项目链接后:

lib\libeay32.lib
lib\ssleay32.lib

To the Project->Configuration Properties->Linker->Input->Additional Dependencies property. 到Project-> Configuration Properties-> Linker-> Input-> Additional Dependencies属性。

手动将SSL依赖项(lib文件)添加到项目 - >属性 - >链接器 - >输入 - >其他依赖项。

这些是我与boost 1.69,visual studio 2019和OpenSSl-Win64链接的库:

libssl.lib;libcrypto.lib

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM