プリプロセッサマクロで sizeof を使う
多分、C/C++ の標準機能だけだと無理な気が。autoconf を使えば何とかなる。
まず、configure.ac に
AC_CHECK_SIZEOF(int) AC_CHECK_SIZEOF(wchar_t) SIZEOF_INT=$ac_cv_sizeof_int SIZEOF_WCHAR_T=$ac_cv_sizeof_wchar_t AC_SUBST(SIZEOF_INT) AC_SUBST(SIZEOF_WCHAR_T) AC_OUTPUT([foo.h])
てな感じにしておいて、foo.h.in を
#if @SIZEOF_WHCAR_T@ != @SIZEOF_INT@ #endif
と書けば、ご所望の結果かと。まぁ、autoconf を使えるかどうかという問題がありますが。
ちなみに、Dartsがこういうことをしている。