【发布时间】:2018-04-20 06:23:30
【问题描述】:
我正在处理一个使用 DirectX 8 的旧项目,我想知道是否有办法让 Visual Studio 2017 在仍然使用 DirectX8 的同时编译代码。
Windows SDK = 10.0.16299.0
工具集 = msvc141
我使用现代外观的 MFC 应用程序作为示例项目,但它可能与它无关,因为它仅在我包含 D3DX8.h 时发生,例如,我在 DirectX 端遇到很多语法错误。
我想知道是否有一种方法可以在我不必继续使用 Visual C++ 6.0 的情况下在 directx 8 上工作。
1>c:\mmorpg\directx\dx3d8\dxf\dxsdk\include\d3d8types.h(155): error C2011: '_D3DLIGHTTYPE': 'enum' type redefinition
1>c:\program files (x86)\windows kits\10\include\10.0.16299.0\shared\d3d9types.h(180): note: see declaration of '_D3DLIGHTTYPE'
1>c:\mmorpg\directx\dx3d8\dxf\dxsdk\include\d3d8types.h(189): error C2011: '_D3DSHADEMODE': 'enum' type redefinition
1>c:\program files (x86)\windows kits\10\include\10.0.16299.0\shared\d3d9types.h(214): note: see declaration of '_D3DSHADEMODE'
1>c:\mmorpg\directx\dx3d8\dxf\dxsdk\include\d3d8types.h(196): error C2011: '_D3DFILLMODE': 'enum' type redefinition
1>c:\program files (x86)\windows kits\10\include\10.0.16299.0\shared\d3d9types.h(221): note: see declaration of '_D3DFILLMODE'
1>c:\mmorpg\directx\dx3d8\dxf\dxsdk\include\d3d8types.h(208): error C2011: '_D3DBLEND': 'enum' type redefinition
1>c:\program files (x86)\windows kits\10\include\10.0.16299.0\shared\d3d9types.h(228): note: see declaration of '_D3DBLEND'
1>c:\mmorpg\directx\dx3d8\dxf\dxsdk\include\d3d8types.h(225): error C2011: '_D3DBLENDOP': 'enum' type redefinition
1>c:\program files (x86)\windows kits\10\include\10.0.16299.0\shared\d3d9types.h(255): note: see declaration of '_D3DBLENDOP'
1>c:\mmorpg\directx\dx3d8\dxf\dxsdk\include\d3d8types.h(234): error C2011: '_D3DTEXTUREADDRESS': 'enum' type redefinition
1>c:\program files (x86)\windows kits\10\include\10.0.16299.0\shared\d3d9types.h(264): note: see declaration of '_D3DTEXTUREADDRESS'
【问题讨论】: