コンパイラごとに定義されているシンボルを#ifdef等で調べて、個別にコードを書いていけばいい。ここで言ってる「コンパイラごとに定義されているシンボル」に関しては、
- boost/config/select_compiler_config.hppで調べる
- boost/config/select_compiler_config.hppを使う
等で手っ取り早く解決できる。処理系も同様にboost/config/select_platform_config.hppを覗けば一発。
boostとかいって知識の宝庫だな、こりゃ。