DirectX11 with Visual Studio 2012 pro

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
Suikaba
記事: 194
登録日時: 13年前

DirectX11 with Visual Studio 2012 pro

#1

投稿記事 by Suikaba » 11年前

質問させて頂きます、よろしくお願いします。
Visual Studio 2012でDirectXを使おうと思っていたのですが、d3d11.h 等を include すると

コード:

warning C4005: 'DXGI_STATUS_OCCLUDED' : macro redefinition
のようなエラーが大量に発生しまして、困っております。一応、警告が大量に出るだけで動作はしているのですが、もしかしたらヘッダが古いのかと思い調べると以下の様なことが書かれておりましたので、それも載せておきます。

Visual Studio 2012 comes together with DirectX; to be more precise, now it's part of Windows SDK. Microsoft decided they're too close to be separated.
d3dx11.h has been deprecated and removed, so whatever you used from it you'll have to make on your own.

Wherever "d3dx9.h", "d3dx10.h", or "d3dx11.h" are included in your project, be sure to explicitly include "d3d9.h", "d3d10.h" and "dxgi.h", or "d3d11.h" and "dxgi.h" first to ensure you are picking up the newer version. You can disable warning C4005 if needed; however, this warning indicates you are using the older version of these headers.

古いのではないかということはわかりました。が、DirectXのVersionも最新にしてあるはずですので、そこでよくわからなくなってしまいました。
どなたか解決法を知っていらっしゃる方がいれば、ご教授ください。よろしくお願いいたします。

ISLe
記事: 2650
登録日時: 13年前
連絡を取る:

Re: DirectX11 with Visual Studio 2012 pro

#2

投稿記事 by ISLe » 11年前

インクルードしたd3d11.hはどこのものですか?

DirectX SDKはWindows SDKに統合されたので、Visual Studio 2012ではDirectX SDKを追加インストールする必要はありません。
#英文にその旨書いてありますが。
ついでに先日の更新プログラム(KB2670838)でDirectX SDKとの互換性も無くなりました。

単独のSDKを使いたい場合はWindows SDK for Windows 8を使用してください。

DirectX9以前のコンポーネントを使った開発を行いたい場合はDirectX SDKが必要になります。

Suikaba
記事: 194
登録日時: 13年前

Re: DirectX11 with Visual Studio 2012 pro

#3

投稿記事 by Suikaba » 11年前

include していたのは Windows SDK のものでした。
なるほど、互換性もなくなってしまっていたのですか…それは知りませんでした。
ということは、前に使っていたマクロなど使えなくなってしまうものもあるということですね。

統合されたというのは読んでわかっていました。すみません。
指摘していただいたとおり、DirectX SDK を使わないようにしたところ警告が全部消えてくれました。
ありがとうございました。

ISLe
記事: 2650
登録日時: 13年前
連絡を取る:

Re: DirectX11 with Visual Studio 2012 pro

#4

投稿記事 by ISLe » 11年前

互換性が無くなるのはランタイムや一部のツールで、ソースコードはそのまま使えます。

KB2670838をインストールすると、DirectX SDK(June 2010)を使って、Direct3D10以降に登場したコンポーネントを使うプログラムのデバッグができなくなります。

Suikaba
記事: 194
登録日時: 13年前

Re: DirectX11 with Visual Studio 2012 pro

#5

投稿記事 by Suikaba » 11年前

なるほど、そうでしたか。<dxerr.h> もなくなっていたので、一部はなくなってしまったのかと思っていました。
ありがとうございます。

ISLe
記事: 2650
登録日時: 13年前
連絡を取る:

Re: DirectX11 with Visual Studio 2012 pro

#6

投稿記事 by ISLe » 11年前

Suikaba さんが書きました:なるほど、そうでしたか。<dxerr.h> もなくなっていたので、一部はなくなってしまったのかと思っていました。
すみません。おっしゃるとおり一部はなくなりました。
KB2670838をインストールする前後ではそのまま使えるという流れのつもりでした。

Windows SDK for Windows 8に統合された時点でいくつかの機能は廃止されました。
廃止された機能はソースコードレベルで使えなくなります。

閉鎖

“C言語何でも質問掲示板” へ戻る