I get it it was hard work for a long time. I installed openssl-1.1.0h and make it works with Visual Studio 2017
I create a subfolder in c:\openssl-1.1.0h and put the files of openssl in this folder.
(I have Visual Studio in Spanish, so it is possible that some menu option are not correctly named). This is my experience, not really a tutorial. It was a lot of work.
The following are the steps:
I.- I Download OpenSSL (openssl-1.1.0h), PERL and NASM
II.- I installed PERL and NASM
III.- I installed OpenSSL, but it was not easy
1) I open a console windows, but not the normal (not the console get by writing cmd or somesthing like that)
I open a console from native Tool, this is a subfolder from visual studio:
Start->All Programs->Visual Studio 2017->Visual Studio Tools->VC->System Symbol of Native Tools x64
2) cd \openssl-1.1.0h
3) path c;\program files\nasm\;%path%;
4) ppm install dmake
5) perl Configure VC-WIN64A
7) nmake test
8) nmake install
And finally it works the installation!!!
IV.- When I tried to compile the sw in visual studio it did not compile. There was a linker problem with a library file (I guess libcrypto.lib).
1) Property Page of the Project->Linker->Input->Additional Dependences.
The file including the path need to be written here, in my case:
2) With a console tool included in Visual Studio I analyzed this file: Dumpbin
I analyzed the report of the dumbin and I realized that the library file was for x64, so I had to create a x64 configuration in Visual Studio.
This was also not natural:...
V.- Compilation for x64. I found this help web page
1) In visual Studio 2017 ->;Compile->;Configuration Manager
2) In Configuration of Active Solution I let "Debug" (the initial value) and in Platform of Active Configuration I selected "New", and then a new windows opened
3) in the field "write or select the new platform" I select "win32" and in the field "Copy the configuration from" I selected x64 and I click in Accept.The active windows was closed.
4) After that the last windows, that has the list of project context (in my case only one context was available) I let "Debug" in the Configuration field, and in the Platform I selected "x64" and I click on close button
5) I close the project complete and I opened again (I am not sure if this is necessary, but I did it and works)
6) After that I compiled the project.....
The project did not compile, but the error list was different now.The openssl include files were not found. The reason was that the
include openssl folder was not added to the project. I add openssl-1.10h and openssl-1.10h\include to the project.
To do this I carry out the following steps.
1) In solution explorer with the project selected (this means one level bellow the solution) I clicked on the spanner icon (to get the property of the project)
2) In configuration property-> VC Directory->Include file directory I added the folders openssl-1.10h and openssl-1.10h\include
3) I compile again and the project did not compile properly, but now the compile report some PDB files missing (I read in a forum that those files were not so important) and after that a message that the project was close with the code (0xc0000135). This was a file missing, but there was not identificated by the compile report. To know what was the file I had to use a tool for this. This tool needs to be downloaded and put on a folder (installation was very easy, not icon was added, only downloaded and copied in a folder):
. In the folder I executed the file "depends.exe".
4) I select the file open option in the menu
5) In a windows opened, 5 panels are available. Some of them were clean and in other was a tree (like folders tree) a file missing with a
yellow icon and a message that say the file was missing (libcrypto-1_1-x64.dll). I double clicked on this file and the file was looked for
in the folder were the exe file of my project was found.
6) I Copied the (libcrypto-1_1-x64.dll) file .exe file of my project (myproject.exe). Any ways some files were missing, but I guess this was not important.
7) I compiled the project again
And the project Compiled!!!!!