首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DirectXMath和Win8 SDK在VS2010项目中的应用

DirectXMath和Win8 SDK在VS2010项目中的应用
EN

Stack Overflow用户
提问于 2013-08-18 08:00:24
回答 1查看 1.5K关注 0票数 3

我一直在Visual 2012中的一个引擎中工作,该引擎支持使用Direct3D 9和Direct3D 11进行渲染。然而,我需要一些新的人员来帮助这个项目,他们更愿意在Visual 2010上工作,因为这是他们拥有和使用的版本。因此,我决定转换使用to 2010的v100平台工具集构建的项目。

我已经接近让它开始工作了,但是我不能包括DirectXMath.h,这是DirectXTK和我正在使用的一些实用函数所必需的。它是Windows8SDK的一部分,包含在VS2012中,但是VS2010似乎找不到它。

任何人都知道如何使用环境变量将其包括在内,这样它就可以适用于团队中的每个人,并且也适用于Win7?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-18 15:34:25

为了让新的队友能够在VS2010中编码,您有以下几种选择:

  1. 您不需要将平台工具集更改为旧工具集并重写代码基。VS2010开发人员只需安装Windows8SDK,并使用v110工具集即可。要帮助它们,请在项目属性中配置"VC++目录“,如这篇文章 (将指向旧Windows的宏变量更改为新Windows的显式位置):
代码语言:javascript
复制
- In “Executable Directories” replace `$(WindowsSdkDir)`bin`with`$(ProgramFiles)\Windows Kits\8.0\bin\x86`
- In “Include Directories” add `$(ProgramFiles)\Windows Kits\8.0\Include\um;$(ProgramFiles)\Windows Kits\8.0\Include\shared` at   the beginning and remove `$(WindowsSdkDir)include`
- In “Library Directories” replace `$(WindowsSdkDir)lib` with `$(ProgramFiles)\Windows Kits\8.0\lib\win8\um\x86` 
- In “Exclude Directories” replace `$(WindowsSdkDir)include` with `$(ProgramFiles)\Windows   Kits\8.0\Include\um;$(ProgramFiles)\Windows Kits\8.0\Include\shared`
- When targeting `x64`, replace `x86` with `x64`
  1. 如果您真的想将工具集从v110降级为v100,那么您需要使用旧的独立DirectX SDK。在此之前,Windows和DirectX SDK是分开的。它们是从Windows7SDK开始合并的。当合并时,微软决定删除一些东西,也重新命名了一些文件,例如,独立的SDK在#include <xmmath.h>中包含数学。
  2. 您可以将两者结合起来:通过#ifdef创建多个项目/平台配置和附带条件编译,其中VS2010配置将无法找到标头/编译。例如,您可以在代码的C++11分支中使用VS2012特性,但在VS2010分支中,您只使用C++03功能。

我倾向于第一种选择,但要由你来决定。

据我所知,VS2012 (.vcxproj)的项目文件不能在VS2010中打开(它只知道.vcproj),所以您不能共享它。您可能希望安装VS2010、制作.vcproj并维护这两个文件。当您在一个项目中更改项目选项,而忘了在另一个项目中更改时,可能会很痛苦,所以要小心。另外,请考虑将所有团队迁移到单个IDE,或者至少是单个构建系统(例如,CMake)。

编码愉快!

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18296956

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档