In realta se vuoi fare un programma portabile con C++ non ti devi preccupare solo se stai su linux o su windows, ma anche quale compilatore stai usando. Inoltre le macro che identificano la piatttaforma sono gia definite dal compilatore stesso, quindi fa una ricerca in modo da sapere quali sono queste macro predefinite (tipo WIN32 per windows) per usarle correttamente.