How to set up Wt ISAPI DLL without manual OpenSSL installation
Added by Dmitrii Strebkov over 7 years ago
Hello!
I've installed Wt on my system using GitHub release area (https://github.com/kdeforche/wt/releases) installations and created a sample ISAPI DLL Web application.
During the building of my application I've faced a linker issue reported to unresolved external symbols:
1>wtisapid.lib(IsapiRequest.obj) : error LNK2019: unresolved external symbol _BIO_free_all referenced in function "struct x509_st * __cdecl `anonymous namespace'::convertCertContext(struct _CERT_CONTEXT const &)" (?convertCertContext`?A0xab0beed5@@YAPAUx509_st@@ABU_CERT_CONTEXT@@`Z)
1>wtisapid.lib(IsapiRequest.obj) : error LNK2019: unresolved external symbol _BIO_new_mem_buf referenced in function "struct x509_st * __cdecl `anonymous namespace'::convertCertContext(struct _CERT_CONTEXT const &)" (?convertCertContext`?A0xab0beed5@@YAPAUx509_st@@ABU_CERT_CONTEXT@@`Z)
1>wtisapid.lib(IsapiRequest.obj) : error LNK2019: unresolved external symbol _d2i_X509_bio referenced in function "struct x509_st * __cdecl `anonymous namespace'::convertCertContext(struct _CERT_CONTEXT const &)" (?convertCertContext`?A0xab0beed5@@YAPAUx509_st@@ABU_CERT_CONTEXT@@`Z)
1>wtisapid.lib(IsapiRequest.obj) : error LNK2019: unresolved external symbol _X509_free referenced in function "public: virtual class Wt::WSslInfo * __thiscall Wt::isapi::IsapiRequest::sslInfo(void)const " (?sslInfo`IsapiRequest@isapi@Wt@@UBEPAVWSslInfo@3`XZ)
I tried to find missing OpenSSL static library in my Wt installation folder, but without success: there were only corresponding DLLs: ssleay32.dll
, ssleay32d.dll
, libeay32.dll
and libeay32d.dll
.
So, to resolve that issue I had to install OpenSSL by myself and provide corresponding static library to the linker for my application: c:\OpenSSL-Win32\lib\libcrypto.lib
.
After that I got my Wt application working in IIS.
At the same time, I notice that in page http://redmine.webtoolkit.eu/projects/wt/wiki/Installing_Wt_on_MS_Windows it is stated that:
These downloads contains Wt and related dependencies (boost, openssl, libharu, libpng, zlib, ...)
So, it looks like I did excess things and manual installation of OpenSSL was not necessary.
Could you please clarify how could I get those external symbols resolved without manual installation of OpenSSL?
Replies (1)
RE: How to set up Wt ISAPI DLL without manual OpenSSL installation - Added by Wim Dumon over 7 years ago
Hey DMitrii,
I consider this a bug in the binary releases. I created bug report #5324
Apologies for the issue and thank you for reporting.
Wim.