boost :: asio ssl链接错误

时间:2012-03-21 12:52:06

标签: c++ boost ssl openssl boost-asio

我正在使用boost版本1.47,visual studio 2010,我下载了Windows的二进制文件,并从我的项目首选项链接到include目录和lib目录。但我仍然无法使用boost :: asio中的任何ssl功能。

这是我下载二进制文件的网站:http://www.slproweb.com/products/Win32OpenSSL.html

  

我已下载:Visual C ++ 2008 Redistributables和Win32 OpenSSL v1.0.1

这些是我收到的错误消息:

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

我还收到了一些错误消息,但是它们彼此相似。

3 个答案:

答案 0 :(得分:3)

正如问题评论中所提到的,我添加后,我的项目就联系起来了:

lib\libeay32.lib
lib\ssleay32.lib

到项目 - >配置属性 - >链接器 - >输入 - >附加依赖属性。

答案 1 :(得分:2)

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

答案 2 :(得分:0)

这些是我与Boost 1.69,Visual Studio 2019和OpenSSl-Win64链接的库:

libssl.lib;libcrypto.lib