OpenCVをビルドしようとして発生。
c:\program files\microsoft visual studio 8\vc\include\intrin.h(944) : error C2733: オーバーロードされた関数 '_interlockedbittestandset' の C リンケージの 2 回以上の宣言は許されません。 c:\program files\microsoft visual studio 8\vc\include\intrin.h(944) : '_interlockedbittestandset' の宣言を確認してください。 c:\program files\microsoft visual studio 8\vc\include\intrin.h(945) : error C2733: オーバーロードされた関数 '_interlockedbittestandreset' の C リンケージの 2 回以上の宣言は許されません。 c:\program files\microsoft visual studio 8\vc\include\intrin.h(945) : '_interlockedbittestandreset' の宣言を確認してください。
エラーが発生している行をコメントアウトすることで回避らしい。
// __MACHINEI(unsigned char _interlockedbittestandset(long *a, long b)) // __MACHINEI(unsigned char _interlockedbittestandreset(long *a, long b))
VC++2008では修正されているとか。
SDK*1 に含まれる WinNT.hにおける同名 API宣言と整合が取れていないのが原因かな?
*1 Microsoft Windows SDK v7.0