0

Windows7のVS2012でdirectx11(Windows SDK 8)を使用しています

そして、私はこのエラーが発生しています

1 IntelliSense: more than one instance of overloaded function "XMMatrixTranspose" matches the argument list:
        function "DirectX::XMMatrixTranspose(DirectX::CXMMATRIX M)"
        function "XMMatrixTranspose(DirectX::CXMMATRIX M)"
        argument types are: (const DirectX::XMMATRIX) c:\Program Files (x86)\Windows Kits\8.0\Include\um\DirectXMathMatrix.inl  

私が含めるコードには特別なことは何もありません#include <DirectXMath.h> そしていつでもXMMatrixメソッドの1つを使用してこれを取得します

何か案は?

どうも

4

2 に答える 2

1

これは、Windows 7 に Windows 8 DirectX 11.1 ファイルの一部が含まれているためです。たとえば、多くのヘッダー ファイルが 2 回インクルードされるため、Visual Studio はそれについて何百万もの警告を出します。しかし、それが私のシステムにあるすべてです。Windows 7 で Windows 8 SDK を使用しているのはなぜですか? 単なる好奇心から...

Windows 7 では Windows 7 SDK を、Windows 8 では Windows 8 SDK を使用することをお勧めします。

于 2013-04-17T12:28:35.437 に答える
0

Windows 7 64 ビットで Windows 10 SDK を使用して、新しいコード モデルで DirectX 11 アプリを開発しています。OPと同じ問題がありました。

私にとっての解決策は、DirectXMath.h ライブラリのメソッドを呼び出すときに (たとえば、DirectX::XMMatrixTranspose として) メソッドを完全に指定することでした。

呼び出し例:

m_viewMatrix = DirectX::XMMatrixLookAtLH(position, lookAt, up);
于 2019-01-02T04:59:21.127 に答える