Direct3d基础一__CPP基础之碰到无法打开源文件D3DX11.h如何解决
又来折腾了
目录
安装visual studio和 c++
安装DirectX
链接项目
其他就都是小问题了
参考:
安装visual studio和 c++
写程序这事,无论写的是多小的一个程序都不会省心的:
首先是安装vs2019,一开始只是搞个C#工具,装了.net和基本的c++支持;
没留意,没安装:c++桌面xxx 工具
后面想起要CPP开发,突然就安装不上扩展,连不了网络下载,解决方法
===================================================
(网上很多说改hosts方法不行,以下小哥改dns方法可以下载)
我的问题跟题主的一摸一样,折腾了两三天,还是下不了。百度很多方法试过了没用。直到今天,我们C++老师在群里发了,我才解决了。真的可以下!!!而且方法很简单具体方法:
修改电脑网络的DNS地址,改成114.114.114.114(国内的DNS地址)
备用地址改成8.8.8.8或8.8.4.4(谷歌公司的DNS地址)。
修改的方法可以百度。我修改了一下就可以下载了,真的是太开心了呀!!!
==================================================
解决问题 一
安装DirectX
Download DirectX Software Development Kit from Official Microsoft Download Center
解决步骤:
(1)要解决这个问题,在June 2010 DirectX SDK安装之前,卸载计算机中存在的所有版本的Visual C++ 2010 Redistributable组件。
可以在程序和功能面板中直接卸载。或者,也可以在命令行中运行以下命令卸载:
MsiExec.exe /passive /X{F0C3E5D1-1ADE-321E-8167-68EF0DE699A5}
MsiExec.exe /passive /X{1D8E6291-B0D5-35EC-8441-6616F567A0F7}
解决问题:二
链接项目
这也是很头疼的一个问题
————————————————
DirextX11工程出现”LNK1104:无法打开文件d3dx11.lib”可能的原因:
项目属性->VC++目录->库目录中,添加的是”D:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Lib”。
原来在”.\Lib”下面有\X86和\X64两个文件夹,里面各有一份d3dx11.lib,所以需要指定是在X86下还是在X64下,改成”D:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Lib\X86”就行了。
————————————————
解决问题:三
一天又过去了。。。。。。。第二天。。。。。
如果,你也是按照Direct3D龙书上说的做,《Introduction to 3D Game Programming with Direct3D 11》,(以为这本书在说DirectX,以为在说game program,实际和游戏开发没半点关系,实际在说3d的数据基础)大概率会碰到这个问题
FXC : error X3501: 'main': entrypoint not found
由于我们的项目叫做WindowProject1
当然也有这个同名的类,
WindowProject1.cpp
下意识会以为出错在于这个文件,,,事实并不是的
解决方法参考:
c++ - FXC : error X3501: 'main': entrypoint not found - Stack Overflow
很可能是因为我在项目里,混进了.fx文件
解决问题 四
谢天谢地,最终只花了一天半的事件,解决了1~4个问题,坑还不算多
启动代码后,界面如下:
其他就都是小问题了
1.用了CreateVertexShader的方法,shader文件需要放在跟目录下(相对路径暂时不知道怎么写)
d3dDevice->CreateVertexShader(VertexShaderBuffer->GetBufferPointer(),VertexShaderBuffer->GetBufferSize(),NULL,&md3dVertexShader)
2.在代码编辑器窗口的,上部,提供下拉列表,可快速定位,所有类,所有方法
3.Ctrl + K + O (Ctrl + KO),不是0,可快速在.cpp和.h头文件之间切换
4.官方CPP入口这么写,但也可以随意
//vs 2019 -cpp
int APIENTRY wWinMain(_In_ HINSTANCE hInstance,_In_opt_ HINSTANCE hPrevInstance,_In_ LPWSTR lpCmdLine,_In_ int nCmdShow)
这样也行
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd)
{
5.静态方法会在编译时即检查重复
//LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
6.Direct Effect没编译好
参考:
Direct3D11学习:(一)开发环境配置 - 郭小雷 - 博客园
Direct3d基础一__CPP基础之碰到无法打开源文件D3DX11.h如何解决相关推荐
- Axure RP 9 基础教程 元件基础1
Axure RP 9 for Mac是一款非常专业的交互原型设计软件,它能让用户快速创建应用软件或Web网站的线框图.流程图.原型和规格说明文档.今天小编给大家带来的是Axure RP 9 基础教程 ...
- 【前端开发基础】CSS基础知识以及CSS3
文章目录 一.CSS层叠样式 (一) 目标 1.CSS简介 1.1 HTML的局限性 1.2 CSS网页的美容师 1.3 CSS语法规范 1.4 CSS代码风格 (1)样式格式书写 (2)样式大小写风 ...
- 计算机wrod初级考试题及答案,计算机基础知识+Word基础知识+Excel基础知识试题答案解析.doc...
文档介绍: 计算机基础知识+ Word基础知识+ Excel基础知识 第一部分 一.单项选择题 1.世界上第一台电子数字计算机取名为( ). A.UNIVAC B.EDSAC C.E ...
- 资源 | Intel发布AI免费系列课程3部曲:机器学习基础、深度学习基础以及TensorFlow基础
翻译 | AI科技大本营(公众号ID:rgznai100) 校对 | 成龙 编辑 | 明明 Intel于近期发布了三门AI系列的免费课程,分别是关于机器学习基础.深度学习基础.TensorFlow基础 ...
- Javascript基础与面向对象基础~第四讲 Javascript中的类对象
今天来说JS中如何实现类(class),事实上本应该昨天晚上写的,可我失言了,在些说一声"抱歉"!JS中的类是JS面向对象的基础,也是我最拿手的东西,你写的代码能否提高一个层次,一 ...
- 二十一. Python基础(21)--Python基础(21)
二十一. Python基础(21)--Python基础(21) 1 ● 类的命名空间 #对于类的静态属性: #类.属性: 调用的就是类中的属性 #对象.属性: 先从自己的内存空间里找名 ...
- 先来先服务算法代码_程序员算法与数据结构基础中的基础,栈与递归
在此之前,我们介绍了动态规划.深度优先搜索等基础算法,但是,有部分好友评论说,难度太难了,我们知道动态规划的自顶向下跟深度优先搜索一般都用递归实现,今天我们就先来讲讲算法与数据结构中,基础中的基础递归 ...
- python基础知识点-Python入门基础知识点(基础语法介绍)
计算机基础知识介绍 计算机核心部件分为CPU,内存,硬盘,操作系统 1.CPU:中央处理器,相当于人大脑 2.内存:临时存储数据.现在通常分为 8g和16g(不能替代硬盘的原因:1,成本高 2,断电即 ...
- python编程零基础-编程零基础应当如何开始学习 Python?
看到问题关于<编程零基础应当如何开始学习 Python?>,其实是在Python未来会很火的一个基础条件下,但是我觉得光光说学习Pyhon这件事,你首先得明白三件事: --如何判断你学习编 ...
- Python运维开发基础01-语法基础【转】
开篇导语 整个Python运维开发教学采用的是最新的3.5.2版,当遇到2.x和3.x版本的不同点时,会采取演示的方式,让同学们了解. 教学预计分为四大部分,Python开发基础,Python开发进阶 ...
最新文章
- Fort.js – 时尚、现代的表单填写进度提示效果
- 【UML】UML类图关系(泛化 、继承、实现、依赖、关联、聚合、组合)
- 你有必要知道的一些JavaScript 面试题(中)
- SAP Fiori footer的重写方式
- Java 集合系列03之 ArrayList详细介绍(源码解析)和使用示例
- linux live cd ubuntu,在Windows 7上体验Ubuntu Live CD
- c++查询当前文件夹下文件数目_python3自动化小工具--删除某个文件夹xx后缀文件...
- SCVMM 2012 R2---添加Hyper-V主机
- 为什么要使用git pull --rebase?
- Go语言中的单元测试及反向代理
- 【Tricks】半监督深度学习训练和实现小Tricks
- PS之基础知识汇总(总结版)
- js实现时间每秒更新
- 启动 jack server 出现 Could not find or load main class com.android.jack.launcher.ServerLauncher的问题
- python动态与静态语言_Python编程笔记--动态属性
- PMP 项目管理 考前专题(04)考试 答题原则与套路总结
- 微信小程序新闻信息列表展示
- Spring Cloud整合Websocket(SockJs Stomp方式)
- Android Studio for Mac 中文文件名乱码问题
- SEP离线病毒库下载地址
热门文章
- NSGA_2 Matlab带约束问题的多目标优化求解方案+惩罚函数
- Mini-USB接口的引脚定义与USB与miniUSB接口区别
- Vmware虚拟机设置固定IP地址
- springboot+责任链模式初体验
- C/C++:std::thread构造函数死锁问题:WIN32下不可以在DllMain中创建线程
- android蜂巢效果、环形菜单、Kotlin影视应用、简约时钟、查看导出App、支付宝AR扫码效果等源码...
- Android apk的安装
- 我爱你 php代码怎么打,微信翻译代码我爱你怎么写?微信翻译表白代码介绍大全...
- SpringData JPA(一)——什么是SpringData JPA
- linux 文件管理系统