Как в compile-time ($IFDEF?), так и в runtime. Моё приложение должно работать и в windows, и в linux. Как это сделать топорно, я и сам догадаюсь? Но, может, есть кошерный путь?
См. руководство программиста. Приложение Compiler defines during compilation В Таблице Possible defines when compiling using target OS приведены макроперенные, позволяющие определить целевую ОС. Если не использовать кросскомпиляцию, то ошибиться нельзя