Excluir arquivos de origem por arquitetura ao compilar

Eu estou escrevendo um programa Go para o Windows que contém vários pacotes. Um desses pacotes está usando o CGo para chamar algumas funções definidas em alguns arquivos .h e .c. Esses arquivos .c dependem do windows.h.

Como o desenvolvimento na plataforma Windows é incrivelmente tedioso, gostaria de fazer uma simulação das funções desse arquivo e desenvolvê-lo no Linux. Mas quando tento compilar eu recebo:

fatal error: windows.h: No such file or directory

Desde que a ferramenta go tenta compilar meus arquivos dependentes do Windows. Existe alguma maneira de contornar isso? Eu sei que colocar algo como

#ifdef ..
import x
#endif

não é uma prática recomendada, mas neste caso eu preciso de algo para permitir a compilação apenas dos arquivos "Linux".

questionAnswers(1)

yourAnswerToTheQuestion