OpenSsl adding refrence, getting error, after compiling source openssl in 64bit mode


I've compiled openssl source before in 32 bit and used it in my c++ project. But for reasons, I want to make my program 64 bit and get error when referencing my created dll when program start.

My c++ program A.dll uses openssl library. Before used it in x86 without any problem and B.dll used openssl 32bit which I compiled myself

System.DllNotFoundException: Unable to load DLL 'A.dll' or one of its dependencies: The specified module could not be found. (0x8007007E)

I'm using A.dll in B.exe. B.exe is in c#, when using x86 A.dll its ok in my pc, but when copy all the dlls and b.exe to another computer it won't work and get above error, so decided to compile openssl in 64bit, and when using openssl 64bit in A.dll the are linking errors in c++.

Before in x86 I've referenced ssleay32.lib and libeay32.lib.

But in 64bit openssl compiled can not find these libraries and just libcrypto.lib and libssl.lib.

How could I get rid of the problem?

asked on Stack Overflow Aug 25, 2020 by Hamed_gibago

1 Answer


Just keep it simple. Let's start over with 64bit openssl.

Go to C:\Program Files\OpenSSL-Win64\ (if you download 64bit openssl)

Then, you can see libssl1_1-x64.dll and other dll files.

There are also include and lib directories, which you may need to include.

Do not be using dll files like chaining. Just use dll or lib files separately.

answered on Stack Overflow Aug 25, 2020 by Kyle Leo

User contributions licensed under CC BY-SA 3.0