Boost logo

Boost Users :

Subject: [Boost-users] Boost SSL with Visual Studio 2010 and OpenSSL
From: David W (david.spamme_at_[hidden])
Date: 2012-02-19 16:00:58


Hello,

I'm trying to compile the Boost 1.47 ASIO SSL server and client examples. I
can sucessfully incorporate Boost into my project, but I cannot incorporate
OpenSSL. When I try to add it I get the errors:

1>SSLServer.obj : 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_at_ssl_category_at_detail@error_at_asio@boost@@UBE?AV?$basic_string_at_DU
?$char_traits_at_D@std@@V?$allocator_at_D@2@@std@@H_at_Z)
1>SSLServer.obj : 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_at_openssl_init_base_at_detail@ssl_at_asio@boost@@QAE_at_XZ)
1>SSLServer.obj : 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_at_openssl_init_base_at_detail@ssl_at_asio@boost@@QAE_at_XZ)
1>SSLServer.obj : error LNK2019: unresolved external symbol
_CRYPTO_num_locks referenced in function "public: __thiscall
boost::asio::ssl::detail::openssl_init_base::do_init::do_init(void)"
(??0do_init_at_openssl_init_base_at_detail@ssl_at_asio@boost@@QAE_at_XZ)
1>SSLServer.obj : error LNK2019: unresolved external symbol
_SSL_load_error_strings referenced in function "public: __thiscall
boost::asio::ssl::detail::openssl_init_base::do_init::do_init(void)"
(??0do_init_at_openssl_init_base_at_detail@ssl_at_asio@boost@@QAE_at_XZ)
1>SSLServer.obj : error LNK2019: unresolved external symbol
_SSL_library_init referenced in function "public: __thiscall
boost::asio::ssl::detail::openssl_init_base::do_init::do_init(void)"
(??0do_init_at_openssl_init_base_at_detail@ssl_at_asio@boost@@QAE_at_XZ)
1>SSLServer.obj : error LNK2019: unresolved external symbol _ENGINE_cleanup
referenced in function "public: __thiscall
boost::asio::ssl::detail::openssl_init_base::do_init::~do_init(void)"
(??1do_init_at_openssl_init_base_at_detail@ssl_at_asio@boost@@QAE_at_XZ)
1>SSLServer.obj : error LNK2019: unresolved external symbol
_CONF_modules_unload referenced in function "public: __thiscall
boost::asio::ssl::detail::openssl_init_base::do_init::~do_init(void)"
(??1do_init_at_openssl_init_base_at_detail@ssl_at_asio@boost@@QAE_at_XZ)
1>SSLServer.obj : error LNK2019: unresolved external symbol
_CRYPTO_cleanup_all_ex_data referenced in function "public: __thiscall
boost::asio::ssl::detail::openssl_init_base::do_init::~do_init(void)"
(??1do_init_at_openssl_init_base_at_detail@ssl_at_asio@boost@@QAE_at_XZ)
1>SSLServer.obj : error LNK2019: unresolved external symbol _EVP_cleanup
referenced in function "public: __thiscall
boost::asio::ssl::detail::openssl_init_base::do_init::~do_init(void)"
(??1do_init_at_openssl_init_base_at_detail@ssl_at_asio@boost@@QAE_at_XZ)
1>SSLServer.obj : error LNK2019: unresolved external symbol
_ERR_remove_state referenced in function "public: __thiscall
boost::asio::ssl::detail::openssl_init_base::do_init::~do_init(void)"
(??1do_init_at_openssl_init_base_at_detail@ssl_at_asio@boost@@QAE_at_XZ)
1>SSLServer.obj : error LNK2019: unresolved external symbol
_ERR_free_strings referenced in function "public: __thiscall
boost::asio::ssl::detail::openssl_init_base::do_init::~do_init(void)"
(??1do_init_at_openssl_init_base_at_detail@ssl_at_asio@boost@@QAE_at_XZ)
1>C:\Users\Epicism\Documents\Visual Studio
2010\Projects\SSLServer\Debug\SSLServer.exe : fatal error LNK1120: 12
unresolved externals
1>
1>Build FAILED.

I have tried adding the
directory C:\OpenSSL-Win32\lib\, C:\OpenSSL-Win32\lib\VC\,
C:\OpenSSL-Win32\lib\VC\static, C:\OpenSSL-Win32\bin,
C:\OpenSSL-Win32\include
to Project->General Properties->Linker->Additional Library Directories
using the openssl pre-compiled libraries (
http://www.openssl.org/related/binaries.html). I have also tried compiling
OpenSSL myself with the same errors. I'm really at a loss, I have tried
everything I have searched Google about a thousand times, tried IRC, every
combination of directories I can think of...

My setup is:
Windows 7 64-bit
Windows Visual Studio 2010 64 bit
Boost 1.47
OpenSSL 1.0.0E and G
C/C++ Additional Include Directories: C:\Program Files
%28x86%29\boost\boost_1_47;C:\openssl\include\;C:\OpenSSL-Win32\lib;%(AdditionalIncludeDirectories)
Project->General Properties->Linker->Additional Library
Directories: C:\Program Files
%28x86%29\boost\boost_1_47\lib;C:\openssl\lib;C:\openssl;%(AdditionalLibraryDirectories)
    - I've tried adding every directory to this property as well....

Right now I'm just trying to compile the following in a VS C++ console
project:
// SSLServer.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <cstdlib>
#include <iostream>
#include <boost/bind.hpp>
#include <boost/asio.hpp>
#include <boost/asio/ssl.hpp>

int _tmain(int argc, _TCHAR* argv[])
{
return 0;
}

Thanks in advance.

David



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net