Irgendie verstehe ich dein Problem nicht so ganz.
Du hast eine eigene err() gestrickt und die brauchst du nur in der einen .c-Datei.
Was hindert dich daran, die in den Abschnitt #if defined (_WIN64) || (_WIN32) zu packen?
Nebenbei: Es ist hübscher, wenn _WIN32 ebenfalls per defined geprüft...