Error when trying to compile Linux binary on Windows

Hi, I am trying to set up a collection of cross compiling toolchains. I have managed to get compiling for Windows from Linux working by copying the the Windows system headers and libraries to my Linux machine and targeting those when compiling my code. I tried to do the same thing in reverse by copying the include headers found at /usr/lib/llvm-12/lib/clang/12.0.1/include but it seems I am missing c++config.h.
I have checked the Linux install and I can’t seem to find c++config.h anywhere and I am at a bit of a loss where to go next. I could try and download a copy of the file from the internet but that seems like it could be a bit hit or miss.

Has anyone got any experience with getting Windows host → Linux Target cross compiling working?

My test.cpp:

#include <iostream>

int main()
    std::cout << "Hello, World!" << std::endl;
    return 0;

The command I am calling: clang++ -target i686-pc-linux-gnu -std=c++17 -stdlib=libc++ -v -c test.cpp -o test.c -I D:\Toolchains\Linux\Includes
The include directory is the location of the headers that I copied from my linux machine

Any help is appreciated.