You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2.2 KiB

Some notes for the windows jungle

This was how I compiled libwebsockets in windows March 2020.

OpenSSL

Installing prebuilt libs

I used the 1.1.1d (the latest) libs from here, as recommended on the OpenSSL site

overbyte.eu

I had to use procmon64 (windows' strace) to establish that these libraries are looking for a cert bundle at "C:\Program Files\Common Files\SSL\cert.pem"... it's not included in the zip file from the above, so...

Installing a cert bundle

You can get a trusted cert bundle from here

drwetter/testssl cert bundle

Save it into C:\Program Files\Common Files\SSL\cert.pem where openssl will be able to see it.

Installing cmake

CMake have a windows installer thing downloadable from here

cmake

after that you can use cmake from the terminal OK.

Installing git

Visit the canonical git site to download their windows installer thing

git

after that git from the terminal is working.

Install the free "community" visual studio

You can do this through "windows store" by searching for "visual studio"

I installed as little as possible, we just want the C "C++" tools.

It still wouldn't link without the "mt" helper tool from the huge windows SDK, so you have to install GB of that as well.

Building

Somehow windows cmake seems slightly broken, some of the plugins and examples are conditional on if (NOT WIN32), but it configures them anyway. For this reason (it seems "only", it worked when I commented the cmake entries for the related plugins) -DLWS_WITH_MINIMAL_EXAMPLES=1

Instead I followed how appveyor builds the stuff in CI... clone libwebsockets then

> git clone https://libwebsockets.org/repo/libwebsockets
> cd libwebsockets
> mkdir build
> cd build
> cmake ..
> cmake --build . --config DEBUG

Installing requires admin privs, I opened a second cmd window as admin and did it there.

> cmake --install . --config DEBUG

After that you can run the test apps OK.