OpenSSL and Qt on windows

Apologies for the long length in time between posts. I’ve been pretty busy, between looking for a house, and working long hours, I’ve not had much time to myself to post here. I’ll try to post more often. I do have content to post, just not the time to sort it out into comprehensible and informative posts.

Anyway, as part of my RevFE project, I’ve been working on an interface to mp3car’s AutoAppMart to allow for runtime download and install of plugins and misc applications. I do most of my development on Linux (kubuntu yay!), and then transfer source over to windows to compile and test for releases. I’ve gotten most of the core functionality to connect to the AutoAppMart and download apps complete, so I was transferring over to windows to compile and test when I noticed that I was unable to connect at all. After some digging I realized that the AutoAppMart uses https to communicate with the AutoAppMart itself. This is all find an dandy in Linux, since by default Qt comes with SSL built in, but in windows it fell flat on its face.

To use Qt in windows is usually a fairly lengthy process
1: Download MSVC++ express
2: Download Qt latest source, extract.
3: Wait 3-4 hours for it to compile
4: Done

However, doing it this way caused SSL support to be nonexistant. So, doing a bit of research I discovered that you can download OpenSSL in windows, compile it and point Qt to it for it to work. To install openssl, you go to their website, and download the latest. I used 1.0.0g with Qt 4.8.0 and it worked fine, your mileage may vary. You also need some version of Perl, I used ActivePerl, though any should work. Extract OpenSSL to any location (I used c:\openssl), then cd to that directory and run:

perl Configure VC-WIN32 no-asm –prefix=c:\libs\openssl

Assuming oyu want to use c:\libs\openssl as the output directory. Then type

ms\do_ms
nmake -f ms\ntdll.mak

This will generate and compile OpenSSL using nmake’s makefiles, and will generate linkable dll’s and lib files. Once this is complete, you have to recompile Qt. Go to the Qt directory, and run

nmake confclean

Wait 30 minutes while it cleans Qt

configure.exe -platform win32-msvc2010 -opensource -shared -debug-and-release -openssl-linked -I C:\libs\openssl\include -L C:\libs\openssl\lib

When it lists the included modules, be sure it says OpenSSL: linked. This means that you will have OpenSSL support available to you for your own applications.

Most of this information came from this blog, so thanks to him for posting it up. I figured I’d repost here just in case someone came across mine in search of the same answer.