如何使用VS2015编译运行DX11版本龙书配套源码

这篇文章是翻译http://www.d3dcoder.net/网站上Frank Luna(龙书作者本人)的解决方案。




近来,我收到求助emails,emalis询问如何解决本书附带的代码使用Visula Studio 2015编译失败的问题。
这篇文章将讲解使用VS2015编译所必须的步骤,但在此之前,让我们先来看看为什么同样的代码在VS2015编译失败吧.


从Windows 8开始 DirectX不再作为独立的一部本而被集成在操作系统中,并且在之后的版本中DirectX随着系统的更新而更新。而且D3DX库被抛弃了并没有被集成在Windows8及以后的Windows版本中。同时XNA Math数学库也更名为DirectX Math库。
此外,当使用VS2015时,dxerr.lib库已经不适用了。所以我们使用VS2015编译本书附带的代码的策略如下:
1 寻找到代码中使用的D3DX函数的替代函数。这比听起来还要简单。因为DirectX小组已经开源了大部分的D3DX函数。


2 将xnamath替换为DirectX Math 这也同样很简单 因为DirectX Math和xnamth库基本上相同。我们只需要将所使用的结构都放入DirectX 命名空间;


3 找到dxerr.lib的替代品,或者停止使用dxerr.lib的函数。我们可以使用如下代码作为我们的错误追踪代码:
       
  #define HR(x)                                               \
        {                                                           \
            HRESULT hr = (x);                                       \
            if(FAILED(hr))                                          \
            {                                                       \
                DXTrace(__FILEW__, (DWORD)__LINE__, hr, L#x, true); \
            }                                                       \
        }
 
请牢记:一个可选的策略是安装
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值