DX中关于error C2664: “ID3DXEffect::SetMatrix”: 不能将参数 1 从“const char [17]”转换为“D3DXHANDLE”
用了这么久的DXUT,今天才发现对于shader中的变量无需先获取变量对于的handle然后再设置值,可以直接通过变量名来设置。
// V( g_pEffect->SetMatrix( g_hWorldViewProj, &mWorldViewProjection) );
V( g_pEffect->SetMatrix( "g_mWorldViewProj", &mWorldViewProjection) );
但是很奇怪,它会提示error C2664: “ID3DXEffect::SetMatrix”: 不能将参数 1 从“const char [17]”转换为“D3DXHANDLE”
这个问题原来就出现过,所以我一直用先获取HANDLE再设值的笨方法。一直以为是版本的问题。今天又遇到这个问题,获取HANDLE的方法实在太笨,所以就想研究下到底是哪里出了问题。对于用EmptyProject生成的项目和DX API中Install出来的项目的选项,发现EmptyProject生成出来的项目多了一个 /D "D3DXFX_LARGEADDRESS_HANDLE" 选项。
解决方法:在C/C++ -----> 预处理 --------> 预处理定义中删除 D3DXFX_LARGEADDRESS_HANDLE 这个选项
多谢OPENGPU里面的帖子:http://www.opengpu.org/forum.php?mod=viewthread&tid=8493
在里面找到了官方文档:http://msdn.microsoft.com/zh-cn/library/bb172855
DX中关于error C2664: “ID3DXEffect::SetMatrix”: 不能将参数 1 从“const char [17]”转换为“D3DXHANDLE”相关推荐
- error记录 | 不能将参数 1 从“const char [5]”转换为“LPCTSTR
Windows使用两种字符集ANSI和UNICODE,前者就是通常使用的单字节方式,但这种方式处理象中文这样的双字节字符不方便,容易出现半个汉字的情况.而后者是双字节方式,方便处理双字节字符.Wind ...
- C++ Error C2664:无法将参数 1 从“const char [9]”转换为“LPCWSTR”解决方案
C++ Error C2664:无法将参数 1 从"const char [9]"转换为"LPCWSTR"解决方案 参考文章: (1)C++ Error C26 ...
- [error] MFC错误不能将参数1从const char [3]转换为const wchar_t *
在做项目中经常遇到很多错误,这里我仅仅把自己遇到的一些错误和解决方法写出,供自己和大家查看. 代码如下: CRect rect; GetClientRect(&rect); CString s ...
- VS2017中C++无法将参数1从const char [8] 转换为char[]
VS2017中开发遇到的问题: 看到网上有两种解决办法: 1.结构体中定义的 char * 前面加上 "const": 原因应该是函数的实参与形参类型不匹配, 字符串在内存中是一个 ...
- 关于VS2012使用make_pair编译提示“error C2664: “std::make_pair”: 不能将参数 1 从“int”转换为“int ””
参照微软官方回复: #include <iostream> #include <ostream> #include <string> #include < ...
- C++中 出现C2664错误代码 从“const char [29]”转换为“const wchar_t *”
报错内容: 报错无法 从"const char [29]"转换为"const wchar_t *" 解决办法 在属性页面将字符集修改为:使用多字节字符集就可以了 ...
- vs2019 报错信息:error C2664 解决方法
1>D:\re.cpp(10,34): error C2664: "HMODULE LoadLibraryW(LPCWSTR)": 无法将参数 1 从"const ...
- ASSERT报错:error C2664: “AfxAssertFailedLine”: 不能将参数 1 从“TCHAR []”转换为“LPCSTR”...
转载请注明来源:崨雁嫀筝 http://www.cnblogs.com/xuesongshu 这个错误是我在把tinyxml修改为宽字符(Unicode)版本时候遇到的问题,我首先按关键字把所有有ch ...
- error C2664: 'atof' : cannot convert parameter 1 from 'int' to 'const char *'
double ff=atof(b); error C2664: 'atof' : cannot convert parameter 1 from 'int' to 'const char *' ...
最新文章
- RxJava from 处理list时,其中有一个出错时如何继续发送下面的list内容。
- 【01】网页中清除历史浏览记录能不能彻底删除浏览记录?
- UA MATH563 概率论的数学基础 鞅论初步9 分支过程简介
- poj 1050(DP)
- 教你用Java的方式创建一个自己的Tomcat容器
- 【机器学习】如何解决数据不平衡问题
- c语言ole错误,错误 '8002801c' 访问 OLE 注册表的错误
- double类型的数值转为小数点2位
- 要是面试官再问我volatile,我就这么答
- 阿里云盘下载安装保存文件教程
- 基于cocos creator 3.4 实现虚拟摇杆
- upupw php 探针_UPUPW PHP探针安装使用
- UIDataCollector的下载和使用
- Mosaic(马赛克)模组正式支持OSNMA技术
- 有孚网络CEO安柯:IT部门趋于轻量化 “平台+服务”或将成为主流
- Win10下开机自动启动运行bat脚本并打开cmd运行命令
- 数据结构与算法——时间与空间复杂度
- C语言实验:打印日历
- MacBook 通过Boot Camp安装win7双系统时提示缺少所需的CD/DVD驱动器设备驱动程序。
- 簇大小与分区4k对齐的关系