我正在使用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
我还收到了一些错误消息,但是它们彼此相似。
答案 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