桜、抹茶、白、日記

名古屋市在住のC++使いのcoderの日記だったもの。

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は一番最後に設定していましたけどね。

プロジェクト毎に設定を修正するのは面倒なので、どこに設定値が保存されているのか探した所・・・

http://www.unkar.org/read/pc12.2ch.net/tech/1258631113/#l82

以下の場所にVisualC++の規定値の情報が保存されている模様。「Microsoft.Cpp.Win32.user.props」とか「Microsoft.Cpp.x64.user.props」のファイル名で検索しても良いかも。

%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
%LOCALAPPDATA%\Microsoft\MSBuild\v4.0\Microsoft.Cpp.Win32.user.props
%LOCALAPPDATA%\Microsoft\MSBuild\v4.0\Microsoft.Cpp.x64.user.props

上記のファイルからDirectX SDKのパスを削除した所、無事ビルドできるようになりました。

  • 追記

プロパティマネージャから変更ができる模様。