一.下载并安装vs及DirectX

1.vs版本:vs2017community  免费的,百度就有

2.我下载的DirectX版本:DXSDK_Jun10

链接https://pan.baidu.com/s/1w7np5N-E6QYqJXIr0DKhOg

[安装过程中的问题] (更详细的过程可参考 https://blog.csdn.net/zhangkaihang/article/details/8652421)

安装SDK时,可能会在安装最后出现:

错误信息为:Error Code:S1023
出现 S1023 错误的原因是 VC++运行库不能成功安装,而 VC++运行库不能安装的原因是系统中已经安装了VC++运行库,并且版本等于或高于要安装的版本。
我们只需要把系统中已经安装的比SDK中VC++运行库版本高的卸载掉即可:
卸载程序:(只要下面的两个程序版本高于或者等于10.0.30319就将其卸载掉,要注意:不要错误的卸载掉2012或者 2008)

然后重新安装即可解决。

二.新建vs项目、配置DirectX

1.新建vs项目

(1)文件->新建->项目->Visual C++ -> Windows桌面 ->Windows桌面向导   填写名称位置  确定

(2)应用程序类型:控制台应用程序(.exe)  选空项目  确定

2.配置DirectX

(参考自 Mr_Lsz大大的 https://blog.csdn.net/lishuzhai/article/details/54135799)

(1)右键工程名->属性

(i)打开属性后,在“配置属性->VC++目录”下的“包含目录”添加你的DirectX安装目录\include

如:我的安装路径是:D:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Include

(ii)“库目录”添加的你的DirectX安装目录的\Lib\x86:
如:我的安装路径是:D:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Lib\x86

(要注意用“;”隔开前后目录,如果用上述 编辑 方式添加就不用了)

操作与上述类似就不加图了

(iii)“配置属性->链接器->输入”里的“附加依赖项”

将下列库文件粘贴到原有文件的后面:
d3d9.lib
d3dx10d.lib
d3dx9d.lib
dxerr.lib
dxguid.lib
winmm.lib
comctl32.lib

点确定即可完成配置

(2)检验一下是否配置完成:

在 DirectX 安装目录下的 Samples\C++\Direct3D\Tutorials\Tut04_Lights 目录下,打开 .sln 文件。
用 VS打开时,如果提示要进行升级,确认升级即可。(我的工程是升级后的,跟刚开始看到的工程有差别)

升级后运行,如果看到此图则证明配置正确:

3.属性表的配置

为什么要配置属性表呢?我们可以思考下,如果我们新建一个项目过后,就需要配置一遍DX和Effect环境(也就是重复上面的操作),岂不是很麻烦。
如果我们我们配置好一个属性表,每次新建一个项目过后,只需要导入这个属性表就行了。而不用进行上面很是啰嗦的操作。这样就很方便咯。

(1)新建项目并新建一个属性表

首先新建一个项目,打开这个项目的属性管理器(“视图->其他窗口->属性管理器”)d点击Debug|Win32右键新建一个属性表:(我们将其命名为DXProperty)

双击打开此属性表,会弹出一个界面。我们只需要按照上面的操作(DX的基本配置)在此处重新操作一遍即可(完全一样的配置操作)。
即可得到一个配置好的属性表。(切换为原来的视图:视图->解决方案资源管理器)

(2)导入属性表

那么往后你新建完一个新的项目后,只需要打开项目的属性管理器,点击Debug|Win32 文件夹,右键“添加现有属性表”。然后找到你配置好的属性表路径,直接导入
即可。不需要任何多余的操作

三.编写代码时遇到的问题

1.(使用MessageBox时)const.char 类型形参与LPWSTR 类型的实参不兼容

(参考地址 https://jingyan.baidu.com/article/7c6fb428629c3a80652c907e.html)

我们在用VS2012,VS2013编译自己或者网上的源代码时会提示如下错误“LPWSTR 类型的实参与const.char 类型形参不兼容”,如果我们在VC6.0上运行是不会提示这个错误的。主要原因是VC6默认使用字符ANSII编码方而VS2010、VS2012、Visual Studio 2013默认使用UNICODE编码方式。它们对一些字符所占内存空间的位数不同,为了向下兼容,可以在VS中通过修改一项设置来完成。(适用我的vs2017community)

(1)右击项目文件,选择属性

(2)选择“配置属性->常规”里的“字符集”,更改为“使用多字节字符集”

(3)单击确定即可,再次编译,此类错误就不会出现了

2.新建cpp编写DirectX程序后,生成解决方案时报错

错误    LNK2019    无法解析的外部符号 _main,该符号在函数 "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ) 中被引用  
错误    LNK1120    1 个无法解析的外部命令

解决:

(1)右键项目->属性

(2)“配置属性->链接器->系统”里的“子系统”选择 窗口

(3)再次生成解决方案就没问题了

vs2017community进行DirectX开发_问题小节相关推荐

  1. 空间素材代码_C++大神解读视频捕获程序,VC++基于Directx开发的源代码

    一款小巧的视频捕获程序,VC++6.0基于Directx开发的源代码,编译时需要Directx相关类库文件, 窗口表单编写的简单视频捕捉应用程序.这个工程既演示了窗口表单应用程序的创建,又演示了 Op ...

  2. DirectX 开发环境配置

    想使用DirectX开发游戏,前提是要搭建DirectX的开发环境啦. 下面我们就一起学习下DirectX开发环境搭建 1. 首先是DirectX SDK安装, 下载地址是: http://www.p ...

  3. 图解VC#版DirectX开发教程二 - 摄像机

    用VC#进行DirectX开发,程序结构大体都是一样的. 上一篇博文,VC#版DirectX开发入门详解 http://blog.csdn.net/bcbobo21cn/article/details ...

  4. 茶百科 android 论文,基于android平台手机茶百科开发_学位论文.doc

    基于android平台手机茶百科开发_学位论文 摘要 随着智能手机一步步走进普通人的生活,它将成为人们获取信息的主要设备.因此,手机的应用服务将会有很大的发展空间,手机茶百科软件就是其中的一项.And ...

  5. Windows 8 Directx开发学习笔记(一)应用基本框架

    Windows 8系统10月25日就要正式发布,其应用可与Windows Phone 8应用兼容,所以打算转到Windows 8系列的开发.之前虽然开发过应用,但对游戏开发更感兴趣,随意开始学习Met ...

  6. 【源码+图片素材】Java王者荣耀游戏开发_开发Java游戏项目【王者荣耀】1天搞定!!!腾讯游戏_Java课程设计_Java实战项目_Java初级项目

    王者荣耀是当下热门手游之一,小伙伴们是否想过如何制作一款属于自己的王者荣耀游戏呢? 本课程讲解了一个王者荣耀游戏的详细编写流程,即使你是刚入门Java的新手,只要你简单掌握了该游戏所需要的JavaSE ...

  7. 视频库:人工智能开发_人工智能工程师_AI人工智能

    人工智能Python语言入手→→机器学习核心技术→→深度学习核心技术→→NLP自然语言处理技术→→CV计算机视觉技术 视频库:人工智能开发_人工智能工程师_AI人工智能 01-人工智能开发入门 掌握P ...

  8. python开发app教程_知到APP_数据库应用与开发_答案教程

    知到APP_数据库应用与开发_答案教程 更多相关问题 [单选题]下列选项中,属于sendRedirect(java.lang.String url)方法所在接口的是( ) A. HttpSession ...

  9. oracle 考勤记录表,基于C#+Oracle的考勤管理系统的设计与开发_.doc

    基于C#Oracle的考勤管理系统的设计与开发_ <基于C#+Oracle的考勤管理系统的设计与开发> 年 级: *********** 学 号: *********** 姓 名: *** ...

最新文章

  1. LVS(5)——关于ipvsadm第一次启动失败的原因
  2. 打造自己的.NET Core项目模板
  3. ubuntu 12.04 samba 服务器搭建
  4. java将图片传为设定编码值显示(可做刺绣)
  5. curl记录响应时间
  6. mysql 数据联合查询语句_MySQL - 数据查询 - 联合查询
  7. ubuntu16.04多GPU风扇转速调整
  8. SAS 学习笔记 (一) — SAS简介
  9. Java实验9 矩形类的定义与封装
  10. 计算机usb接口标志什么意思,笔记本上USB接口的标识
  11. OSChina 周三乱弹 ——垂死病中惊坐起,夜深还过女嫱来
  12. 星起航:短视频营销之场景化
  13. 怎么实现微信公众号生成专属二维码推广来源统计
  14. PHP算法之杨辉三角
  15. 安装苹果cms时提示不支持fileinfo解决方法
  16. ASP标准MD5加密签名函数代码
  17. Javaweb零基础学习(壹)
  18. 知识图谱课程报告-关系抽取文献综述
  19. [Luogu4169] [Violet]天使玩偶/SJY摆棋子 [cdq分治/k-d tree]
  20. android eclipse计算器布局,请教eclipse android 简单计算器入门 相关问题。

热门文章

  1. 推荐:走遍美国视频下载
  2. Python 调用微信公众号接口(RPA 项目 - 交互篇)
  3. 内网渗透的域控制命令
  4. 与100名研发总监聊过项目管理后,我重新认识了里程碑
  5. 自学软件测试,第一份外包工作8K,到现在大厂月薪30K*16薪
  6. 鸟哥的Linux私房菜(零)计算器概论
  7. 关于 CST 和UTC时间的理解
  8. 蠕虫病毒疯狂传播如何预防
  9. GP规范--PUTKEY
  10. win10+Anaconda+pytorch+CUDA10.1安装指南