I built OpenSSL using the MSVC++ 2013 Express compiler by doing the following:
C:\OpenSSL\Win64
.cd
-ing to the directory where I had extracted the archive.Running the following commands:
perl Configure VC-WIN64A ms\do_win64a nmake -f ms\ntdll.mak
This completed without errors (the proper DLLs are built). However, something very strange has happened. If I open up openssl/ssl.h
, the contents of the file are:
../../ssl/ssl.h
Since this is obviously not valid C/C++, I can't compile any applications that depend on OpenSSL headers due to the problem above. What have I done wrong?
duskwuff's comment was indeed correct. The problem was that 7-Zip didn't properly extract the symbolic links in the archive. The solution was to download GnuWin32's tar
command line utility and use that to extract the archive:
tar -xvf openssl-1.0.1e.tar.gz
This is not the case of only openssl/ssl.h
. This is the case of almost every files which I saw.
I guess that this information is used while building the OpenSSL to generate the include files into the include folder which you mentioned in the makefiles (for Windows, it is nt.mak or ntdll.mak).
If you generate or build the library, you will see in the log that header files are being copied to a folder mentioned in makefile and there you will find the header files which will look like valid C header files. You actually use those generated header files, not this header files.
It looks like a template for generating header files.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With