私の開発プラットフォームは Windows 7 x64 です。VS2012 をインストールしましたが、Dx11 コードを含むプロジェクトをコンパイルしたいと考えています。
具体的には、次のファイルが含まれます。
#include <d3dx11.h>
#include <d3dx10.h>
とへのリンク
#pragma comment (lib, "d3dx11.lib")
#pragma comment (lib, "d3dx10.lib")
開発マシンには既に VS2011 がインストールされていますが、VS2012 のネイティブ C++ の単体テスト機能を試してみたかったのです。
VS2011 をインストールして DirectShow コードで作業しているため、Windows 7.1 SDK をインストールしました。
VS2012 はこれを取得し、7.1 SDK への参照を持っていましたが、7.1 SDK を参照して VS2012 でプロジェクトをコンパイルするとエラーが発生しました。
"warning C4005: '__useHeader' : macro redefinition"
これをグーグルで検索したところ、social.msdn.microsoft.com で私のようなクエリが見つかりました。この問題を解決するには、7.1 SDK の代わりに Windows 8 キットとリンクすることを推奨します。
Windows 8 キットには、d3d11.h などのヘッダーが含まれていますが、d3dx11.h は含まれていません。
複数の「マクロ再定義」エラーを発生させずに、d3dx11 (Dx SDK から) を Windows 8 キットと一緒に含めるにはどうすればよいですか?