peterg
peterg

Reputation: 137

How to use openssl crypto lib headers in C++?

I am trying to test the crypto library that comes with openssl, I downloaded openssl from http://www.openssl.org/source/ and it contains a /crypto folder with subfolders for each encryption type.

I wanted to try BIO_f_base64 so I created an empty console app, and added the includes needed, also added the paths to the /bio and /evp folders to c++ incl directories, and also added the main /openssl folder.

When I try to compile I get Cannot open include file: 'openssl/e_os2.h': No such file or directory

But the file is there, should I use the crypto lib in a different way? How can I use it adding only the /openssl path and not all the crypto subfolders I use?

Also I don't have any .lib files, where can I get them?

Upvotes: 5

Views: 20033

Answers (2)

eldruin
eldruin

Reputation: 342

In windows, if you want to compile it yourself, you can do so running:

For 64 bit:

perl Configure VC-WIN64A
ms\do_win64a.bat
nmake -k -f ms\ntdll.mak

For 32 bit:

perl Configure VC-WIN32
ms\do_nasm.bat
nmake -k -f ms\ntdll.mak

Once you compile the sources, the headers are located in the inc32 folder and the libs/dlls in the out32dll folder.

You can find much more detailed information in the INSTALL files.

Upvotes: 1

Joseph Lisee
Joseph Lisee

Reputation: 3511

You need a version of the OpenSSL that is built for Windows, not the source release. I recommend installing a version from here, which has some nice installers for .lib files and headers. Once you have it installed you will have to update your VS project with the proper include paths to pick up the headers from where ever the installer put them.

Upvotes: 6

Related Questions