It is impossible to make a compiled program portable on run time. It can only be done in compile time, bro.
Different systems have different executable structures. What is compiled for windows, will not work for linux and vice versa, even if you don't use <windows.h>.
However, scripts, such as Python, can be portable between systems.
You will have to think of something better.