VC++ 2010
d:id:youandi:20100420#p1
MFCのプロジェクトをウィザードで作成して、何も変更しないでビルドしたらビルドエラー・・・。
1>------ ビルド開始: プロジェクト: TestApp100429_1, 構成: Debug Win32 ------ 1> stdafx.cpp 1>c:\program files\microsoft sdks\windows\v7.0a\include\objidl.h(11280): error C2061: 構文エラー : 識別子 '__RPC__out_xcount_part' 1>c:\program files\microsoft sdks\windows\v7.0a\include\objidl.h(11281): error C2059: 構文エラー : ')' 1>c:\program files\microsoft sdks\windows\v7.0a\include\objidl.h(11281): fatal error C1903: 直前のエラーを修復できません。コンパイルを中止します。
どうもDirectX SDKを入れているかつ、VC++ 2008の設定を引き継いでいる場合、インクルードの順番がおかしくなる(DirectX SDKが真っ先に参照される)模様。因みにVisualStudio2008の設定ではDirectX SDKは一番最後に設定していましたけどね。
プロジェクト毎に設定を修正するのは面倒なので、どこに設定値が保存されているのか探した所・・・
以下の場所にVisualC++の規定値の情報が保存されている模様。「Microsoft.Cpp.Win32.user.props」とか「Microsoft.Cpp.x64.user.props」のファイル名で検索しても良いかも。
- Windows XPの場合
%USERPROFILE%\Local Settings\Application Data\Microsoft\MSBuild\v4.0\Microsoft.Cpp.Win32.user.props %USERPROFILE%\Local Settings\Application Data\Microsoft\MSBuild\v4.0\Microsoft.Cpp.x64.user.props
- Windows 7の場合
%LOCALAPPDATA%\Microsoft\MSBuild\v4.0\Microsoft.Cpp.Win32.user.props %LOCALAPPDATA%\Microsoft\MSBuild\v4.0\Microsoft.Cpp.x64.user.props
上記のファイルからDirectX SDKのパスを削除した所、無事ビルドできるようになりました。
- 追記