首页 > 解决方案 > #include-ing DirectXMath 和 DirectXTex 时的重新定义

问题描述

使用VS2018Pro、Windows10、

在跨项目文件拉入 DirectXTex.h、DirectXMath.h 和 DirectXCollision.h 时,我遇到了许多重新定义编译错误。

DirectXMath 和 DirectXCollision 是 Win10SDK 标头的一部分,我从 github 存储库中提取 DirectXTex 并将其放在我的项目文件夹的本地。

在我的代码库中,我需要在各种文件中包含 DirectXTex.h、DirectXMath.h 和 DirectXCollision.h 标头,但是我在 DirectX 命名空间中遇到了许多重新定义错误和重复项。我知道我可能必须先包含一个(我已经尝试了许多变体,例如 DirectXTex 引入了 DirectXMath),但我无法编译。

有没有人知道在项目文件中提取这些包含的正确顺序?

标签: windows-10direct3d11directxmathvisual-c++-2017

解决方案


解决方案是将项目头文件中的所有“#include DirectX*.h”头文件移动到 cpp 文件中。


推荐阅读