Any time I try to use more than 1 networking library in the same (CMake) project, there are many Winsock redefinition errors. These libraries are `asio`, `SteamAPI`, `libssh`, and `SDL_net` to name a few.

[![redefinition errors](https://i.stack.imgur.com/xzi4J.png)](https://i.stack.imgur.com/xzi4J.png)

I turned to Google for answers, and there are many posts regarding this issue. Many people have proposed how to fix this such as defining `WIN32_LEAN_AND_MEAN` before including `Windows.h`, or not including `Windows.h` twice... I have removed all usages of `Windows.h`. I have also tried many variations of the answers in the hope of getting my program to compile. This makes no difference.

Among all of the available answers, there is not one single answer that solves this issue. Most of the answers do point to this being a WindowsAPI-only issue due to it trying to include the old `Winsock.h`.

Is there any way to use the networking libraries mentioned above simultaneously without these errors?