After following the instructions in INSTALL.W64 I have two problems:
- The code is still written to the "out32" folder. I need to be able to link to both 32-bit and 64-bit versions of the library on my workstation, so I don't want the 64-bit versions to clobber the 32-bit libs.
- The output is still 32-bit! This means that I get "unresolved external symbol" errors when trying to link to the libraries from an x64 app.
How do I compile OpenSSL source code?
Compiling OpenSSL for Linux on Ubuntu 20.04 In addition to the more advanced . configure script provided with the source, OpenSSL's source directory includes a friendlier . config script with common defaults. Make this script executable and run it.
To compile the static libraries (both release and debug), this is what you need to do:
- Install Perl - www.activestate.com
- Run the "Visual Studio 2008 x64 Cross Tools Command Prompt" (Note: The regular command prompt WILL NOT WORK.)
- Configure with
perl Configure VC-WIN64A no-shared no-idea
- Run: ms\do_win64a
- EDIT ms\nt.mak and change "32" to "64" in the output dirs:
# The output directory for everything intersting
OUT_D=out64.dbg
# The output directory for all the temporary muck
TMP_D=tmp64.dbg
# The output directory for the header files
INC_D=inc64
INCO_D=inc64\openssl
- EDIT ms\nt.mak and remove bufferoverflowu.lib from EX_LIBS if you get an error about it.
- Run: nmake -f ms\nt.mak
- EDIT the ms\do_win64a file and ADD "debug" to all lines, except the "ml64" and the last two lines
- Run: ms\do_win64a
- Repeat steps 4 and 5
- EDIT the ms\nt.mak file and ADD /Zi to the CFLAG list!
- Run: nmake -f ms\nt.mak