Project

General

Profile

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.

    (1-1/1)