5

次の手順を使用して、XAudio2 を使用し、Windows 7 で実行されるコードを作成しようとしています。

http://msdn.microsoft.com/en-us/library/windows/desktop/ee663275%28v=vs.85%29.aspx

示唆されているように、DirectX SDK から XAudio2.h を含めています。

#include <%DXSDK_DIR%Include\xaudio2.h>

結果:

fatal error C1083: Cannot open include file: '%DXSDK_DIR%Include\xaudio2.h': No such file or directory

しかたがない。いずれにせよ、VC++ はそのような環境変数を展開しないと確信していました。#includeだから私はそれを直接含むものに置き換えました:

#include <C:/Program Files (x86)/Microsoft DirectX SDK (June 2010)/Include/XAudio2.h>

(フル パスの使用を提案するその他の手順については、http: //blogs.msdn.com/b/chuckw/archive/2012/04/02/xaudio2-and-windows-8-consumer-を参照してください。プレビュー.aspx )

結果:

c:\program files (x86)\microsoft directx sdk (june 2010)\include\xaudio2.h(20): fatal error C1083: Cannot open include file: 'comdecl.h': No such file or directory

案の定、そのファイルにはcomdecl.h山かっこの使用が含まれており、VC++ が現在のフォルダーの外を見るように指示されています。

DirectX SDK インクルード フォルダー ( $(DXSDK_DIR)/include) をプロジェクトの #include 検索パスに追加し、#include はそのままにして、次のようにしました。

c:\program files (x86)\microsoft directx sdk (june 2010)\include\dxgitype.h(12): warning C4005: 'DXGI_STATUS_OCCLUDED' : macro redefinition
       c:\program files (x86)\windows kits\8.0\include\shared\winerror.h(49449) : see previous definition of 'DXGI_STATUS_OCCLUDED'

(...ad infinitum)

(私のプロジェクトには DirectX ヘッダーも含まれています。)

DirectX SDK インクルード フォルダーを検索パス リストの反対側に追加しても、同じ結果になります。

これらの(または他の)指示に従っている間に、これを機能させることができた人はいますか?

4

2 に答える 2

0

ちょっと申し訳ありませんが、私はこれに遅れていることを知っていますが、この記事

https://directxtk.codeplex.com/wikipage?title=%20the%20DirectX%20Tool%20Kit%20for%20Audio の追加

従来のインクルードとライブラリを含める必要がある方法について詳しく説明します。これらのディレクトリを含めた後、Windows 8および10にはないMicrosoft DirectX SDK(2010年6月)ディレクトリに依存することになると私は理解しています。これは、プロジェクトをパッケージ化するときに、新しいマシンにインストールするためにレガシー directx redist を含める/実行する必要があることを意味します。

あなたはおそらくこの問題をすでに解決しているでしょうが、うまくいけば、これを見つけた他の誰かがこれを見るでしょう. それが役に立てば幸い!

于 2016-04-13T15:03:21.550 に答える