boost::asio-ssl链接错误

boost::asio ssl linking error

本文关键字:错误 链接 asio-ssl boost      更新时间:2023-10-16

我使用的是visualstudio 2010的boost 1.47版本,我下载了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 SettingsEliasmy documentsvisual studio 2010ProjectsOmniTcpOmniTcpmain.obj   OmniTcp
Error   2   error LNK2001: unresolved external symbol _ERR_reason_error_string  C:Documents and SettingsEliasmy documentsvisual studio 2010ProjectsOmniTcpOmniTcpOmniTcp.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 SettingsEliasmy documentsvisual studio 2010ProjectsOmniTcpOmniTcpmain.obj   OmniTcp
Error   4   error LNK2001: unresolved external symbol _CRYPTO_set_id_callback   C:Documents and SettingsEliasmy documentsvisual studio 2010ProjectsOmniTcpOmniTcpOmniTcp.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 SettingsEliasmy documentsvisual studio 2010ProjectsOmniTcpOmniTcpmain.obj   OmniTcp
Error   6   error LNK2001: unresolved external symbol _CRYPTO_set_locking_callback  C:Documents and SettingsEliasmy documentsvisual studio 2010ProjectsOmniTcpOmniTcpOmniTcp.obj    OmniTcp
Error   25  error LNK1120: 12 unresolved externals  C:Documents and SettingsEliasmy documentsvisual studio 2010ProjectsOmniTcpDebugOmniTcp.exe  OmniTcp

我又收到了一些错误消息,但它们都很相似。

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

libssl.lib;libcrypto.lib

正如问题评论中所提到的,我的项目在添加后链接:

liblibeay32.lib
libssleay32.lib

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

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

相关文章: